0Pricing
Learn Rust Coding · Ders

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:

  • &str türünden String türüne: .to_string() veya String::from.
  • String türünden &str türüne: &s veya s.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::from veya to_string() ile oluşturulur; push_str ile büyütülür.
  • Fonksiyon parametrelerinde &str kullanmayı 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

  1. Vektörler
  2. Dizeler ve &str
  3. HashMaps
  4. Koleksiyonlar Üzerinde Gezinme
← Learn Rust Coding Sayfasına Dön