Menu
Coddy logo textTech

Struct'lara Genel Bakış

Coddy'nin Rust Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 21 / 66.

Artık yapıların ne olduğunu anladığınıza göre, şimdi onları gerçekten nasıl oluşturacağınızı ve kullanacağınızı öğrenelim. Bu, iki adımı içerir: önce yapının yapısını tanımlamak, ardından onun örneklerini oluşturmak.

Bir yapı tanımlamak için struct anahtar sözcüğünü, ardından yapının adını ve süslü parantezlerin içindeki alanlarını kullanırsınız. Her alanın bir adı ve türü vardır:

struct User {
    username: String,
    active: bool,
}

Bu, iki alan içeren bir User yapısı için bir şablon oluşturur: String türünde username ve bool türünde active.

Adlandırma kuralı: Rust'ta yapı adları PascalCase (UpperCamelCase olarak da adlandırılır) kullanılmalıdır; bu, her kelimenin büyük harfle başlaması anlamına gelir. Örneğin User, ProductItem veya ShoppingCart. Bu kurala uymazsanız Rust sizi uyarır.

Bir struct tanımladıktan sonra, her alan için değerleri belirterek onun örneklerini oluşturabilirsiniz:

let user1 = User {
    username: String::from("alice"),
    active: true,
};

Yapı adını, ardından her alan adını, iki nokta üst üste işaretini ve değerini içeren süslü parantezleri sağladığınıza dikkat edin. Alanların sırasının tanım sırasıyla eşleşmesi gerekmez.

Bir struct örneğinin alanlarına erişmek için nokta gösterimini kullanın: örnek adını, ardından bir nokta ve alan adını yazın:

println!("Username: {}", user1.username);
println!("Active: {}", user1.active);

Burada user1.username, user1 öğesinin username alanına erişir ve user1.active, active alanına erişir. Bu alan değerlerini normal bir değişkeni kullanacağınız her yerde kullanabilirsiniz.

challenge icon

Görev

Kolay

Üç girdi alacaksınız: bir ürün adı, bir fiyat (ondalık sayı olarak) ve bir stok miktarı (tam sayı olarak). Üç alana sahip bir Product yapısı tanımlayın: String türünde name, f64 türünde price ve i32 türünde stock. Ardından girdi değerlerini kullanarak bu yapının bir örneğini oluşturun ve ürün bilgilerini yazdırın.

Gereksinimler:

  • Şu alanlara sahip bir Product yapısı tanımlayın: name: String, price: f64 ve stock: i32
  • İlk girdiyi ürün adı olarak okuyun
  • İkinci girdiyi okuyun ve fiyat için f64 türüne dönüştürün
  • Üçüncü girdiyi okuyun ve stok miktarı için i32 türüne dönüştürün
  • Bu değerlerle Product yapısının bir örneğini oluşturun
  • Ürün bilgilerini aşağıda gösterilen tam biçimde yazdırın

Girdi:

  • İlk satır: Ürün adı (ör. Laptop)
  • İkinci satır: Ondalık sayı olarak fiyat (ör. 999.99)
  • Üçüncü satır: Tam sayı olarak stok miktarı (ör. 15)

Çıktı:

  • İlk satır: Product: [name]
  • İkinci satır: Price: $[price]
  • Üçüncü satır: Stock: [quantity]

Kendin dene

use std::io;

// TODO: Product struct'ınızı burada tanımlayın


fn main() {
    // Ürün adını oku
    let mut name = String::new();
    io::stdin().read_line(&mut name).expect("Failed to read line");
    let name = name.trim().to_string();
    
    // Fiyatı oku
    let mut price_input = String::new();
    io::stdin().read_line(&mut price_input).expect("Failed to read line");
    let price: f64 = price_input.trim().parse().expect("Failed to parse price");
    
    // Stok miktarını oku
    let mut stock_input = String::new();
    io::stdin().read_line(&mut stock_input).expect("Failed to read line");
    let stock: i32 = stock_input.trim().parse().expect("Failed to parse stock");
    
    // TODO: Girdi değerlerini kullanarak bir Product struct örneği oluşturun
    
    
    // TODO: Ürün bilgilerini istenen formatta yazdırın
    
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Rust derleyicisi