Dizeler ve &str
Sahip olunan ve ödünç alınan metin
Dizeler ve &str, CoddyKit'te ücretsiz bir Learn Rust Coding dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn Rust Coding öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn Rust Coding kursu toplamda 4 dersten oluşur.
İki Dize Türü
Rust'ta iki temel metin türü vardır:
String— sahip olunan, boyutu büyüyebilen bir dizedir.&str— metnin bir görünümü olan ödünç alınmış bir dize dilimidir.
fn main() {
let owned: String = String::from("hello");
let borrowed: &str = "world";
println!("{} {}", owned, borrowed);
}Dize Sabitleri &str Türündedir
Metni çift tırnak içine yazdığınızda bir &str elde edersiniz. Bu değer sabittir ve program ikilisinde saklanır.
fn main() {
let greeting = "Hi there"; // type is &str
println!("{}", greeting);
}String Oluşturma
String::from veya .to_string() yöntemiyle sahip olunan bir String oluşturun.
fn main() {
let a = String::from("abc");
let b = "xyz".to_string();
println!("{} {}", a, b);
}String'i Büyütme
String sahip olunan ve boyutu büyüyebilen bir tür olduğundan, ona push_str ve push ile ekleme yapabilirsiniz.
fn main() {
let mut s = String::from("Hello");
s.push_str(", ");
s.push_str("Rust");
s.push('!');
println!("{}", s);
}Birleştirme
Dizeleri + işleci veya format! makrosuyla birleştirin. format!, girdilerini tüketmez.
fn main() {
let first = String::from("Hello");
let second = String::from("World");
let joined = format!("{} {}", first, second);
println!("{}", joined);
}String'i &str Olarak Ödünç Alma
Bir String, otomatik olarak &str olarak ödünç alınabilir. Bu, işlevlerin her iki türü de kabul etmesini sağlar.
fn print_text(text: &str) {
println!("text: {}", text);
}
fn main() {
let owned = String::from("owned");
print_text(&owned);
print_text("literal");
}&str Parametrelerini Tercih Etme Nedeni
İşlevler genellikle String yerine &str alır. Bu daha esnektir: çağıranlar sahip olunan dizeleri, sabitleri veya dilimleri geçirebilir.
fn shout(s: &str) -> String {
s.to_uppercase()
}
fn main() {
println!("{}", shout("quiet"));
}Bayt Cinsinden Uzunluk
len() yöntemi, karakter cinsinden değil bayt cinsinden uzunluğu döndürür. ASCII metninde her karakter bir bayttır.
fn main() {
let s = "hello";
println!("{} bytes", s.len());
}İçeriği Kontrol Etme
Yararlı okuma yöntemleri arasında contains, starts_with ve is_empty bulunur.
fn main() {
let s = "hello world";
println!("{}", s.contains("world"));
println!("{}", s.starts_with("hello"));
}Sahiplik Farkı
Bir String, verilerinin yığın üzerindeki sahipliğini taşır ve verileri serbest bırakmaktan sorumludur. Bir &str ise yalnızca mevcut verileri ödünç alır ve hiçbir şeyin sahibi değildir.
fn main() {
let owned = String::from("data");
let view: &str = &owned[0..2];
println!("owned {} view {}", owned, view);
}Aralarında Dönüştürme
Dönüşümleri iki yönde de yapabilirsiniz:
&strtüründenStringtürüne:.to_string()veyaString::from.Stringtüründen&strtürüne:&sveyas.as_str().
fn main() {
let s = String::from("convert");
let slice: &str = s.as_str();
let back: String = slice.to_string();
println!("{} {}", slice, back);
}Kısa Kontrol
İki metin türü arasındaki farkı hatırlayınız.
Özet
Rust'ta dizeler:
String— sahipliği alınmış, büyüyebilen ve yığın üzerinde ayrılmış metindir.&str— ödünç alınmış bir dilim veya görünümdür; sabit metinler bu türdedir.String::fromveyato_string()ile oluşturulur;push_strile büyütülür.- Fonksiyon parametrelerinde
&strkullanmayı tercih ediniz.
fn main() {
let mut msg = String::from("Rust");
msg.push_str(" rocks");
let view: &str = &msg;
println!("{} ({} bytes)", view, view.len());
}Sıkça Sorulan Sorular
“Dizeler ve &str” dersi ücretsiz mi?
Evet — “Dizeler ve &str” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn Rust Coding kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn Rust Coding kursu toplamda 4 dersten oluşur.
“Dizeler ve &str” dersinde ne öğreneceğim?
Sahip olunan ve ödünç alınan metin Learn Rust Coding ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn Rust Coding öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn Rust Coding, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Dizeler ve &str” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn Rust Coding dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn Rust Coding dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Vektörler
- Dizeler ve &str
- HashMaps
- Koleksiyonlar Üzerinde Gezinme