Özet - Stringler
- Rust kursu
- Başlangıç
- Ders 24/115
- 5 dk
String ve &str'yi birleştirerek bir karşılama mesajı üretirsin.
Stringler özeti
&str ödünç ve değiştirilemez; String sahip olunan ve büyüyebilir. Oluşturma: String::from, to_string, String::with_capacity. Ekleme: push_str, push, +=, + (sol tarafın sahipliğini alır). Biçimleme: format!. Uzunluk: len bayt, chars().count() karakter sayar.
Büyük/küçük harf ve boşluk
Sık kullanılan yöntemler yeni bir değer döndürür; asıl metni değiştirmez:
let s = " Merhaba Rust ";
println!("[{}]", s.trim()); // [Merhaba Rust]
println!("{}", s.to_uppercase()); // MERHABA RUST
println!("{}", s.contains("Rust")); // true
println!("{}", s.replace("Rust", "Go"));to_uppercase Unicode kurallarını uygular: "ş".to_uppercase() → "Ş".
Uygulama Temizle ve büyüt
fn temizle(s: &str) -> String yaz: baştaki/sondaki boşlukları trim ile atsın ve to_uppercase ile büyütsün. temizle(" şeker ") sonucunu ve uzunluğunu (len) yazdır.
Başlangıç kodu
fn main() {
// buraya yaz
}Örnek çözüm
fn temizle(s: &str) -> String {
s.trim().to_uppercase()
}
fn main() {
let t = temizle(" şeker ");
println!("{} {}", t, t.len());
}Beklenen çıktı
ŞEKER 6
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>let s = String::from("Rust"); let k = &s[0..1];</code> ile k nedir?
- Derleme hatası
- "R" (&str) Doğru cevap
- 'R' (char)
- 82
Açıklama: Bayt aralığıyla dilimleme bir &str verir; aralık bir karakterin ortasına düşerse çalışma anında panic olur.
2 Boşlukları kırp
let girdi = " 42 \n";
let temiz = girdi.____(); // "42"
let girdi = " 42 \n";
let temiz = girdi.trim(); // "42"
Açıklama: trim baştaki ve sondaki boşlukları ve satır sonlarını atar.
3 Grubun özeti
| Kavram | Anlamı |
|---|---|
&str |
Ödünç görünüm |
String |
Sahip olunan metin |
format! |
Biçimli String |
chars().count() |
Karakter sayısı |