Struct tanımı
- Rust kursu
- Başlangıç
- Ders 65/115
- 4 dk
struct ile alanlı yapı tanımlamayı öğrenirsin.
Struct tanımı
Struct, ilişkili verileri adlandırılmış alanlar altında bir araya getiren özel bir türdür. Her alanın bir adı ve türü vardır:
struct Oyuncu {
ad: String,
puan: u32,
aktif: bool,
}Tür adları PascalCase, alan adları snake_case yazılır. Tanım yalnızca şablondur; bellek, bir örnek (instance) oluşturulunca ayrılır.
Alanları değiştirmek
Bir alanı değiştirmek için örneğin tamamı mut olmalıdır; Rust tek tek alanları değiştirilebilir işaretlemeye izin vermez:
let mut o = Oyuncu {
ad: String::from("Ece"),
puan: 120,
aktif: true,
};
o.puan += 30;
println!("{} {}", o.ad, o.puan); // Ece 150Uygulama İlk struct
ad: String ve puan: u32 alanlı bir Oyuncu struct'ı tanımla. ad = "Ece", puan = 120 olan bir örnek oluştur ve iki alanı boşlukla ayırarak yazdır.
Başlangıç kodu
fn main() {
// buraya yaz
}Örnek çözüm
struct Oyuncu {
ad: String,
puan: u32,
}
fn main() {
let o = Oyuncu {
ad: String::from("Ece"),
puan: 120,
};
println!("{} {}", o.ad, o.puan);
}Beklenen çıktı
Ece 120
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir struct alanına nasıl erişilir?
- Köşeli parantezle: o["puan"]
- Ok ile: o->puan
- İki nokta ile: o::puan
- Nokta ile: o.puan Doğru cevap
Açıklama: Rust alanlara her zaman nokta ile erişir; referans üzerinden de otomatik çözme yapar.
2 Alan türü
struct Oyuncu {
ad: String,
puan: ____,
}
struct Oyuncu {
ad: String,
puan: u32,
}
Açıklama: Puan negatif olmayan bir tam sayıdır; u32 uygun türdür.
3 Kavram ve örnek
| Kavram | Anlamı |
|---|---|
struct Oyuncu |
Tür tanımı |
ad: String |
Alan |
o.puan |
Alan erişimi |
let mut o |
Değiştirilebilir örnek |