Modül Temelleri
Coddy'nin Rust Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 8 / 61.
Rust programlarınız büyüdükçe, her şeyi tek bir dosyada tutmak kullanışsız hâle gelir. Rust’ın modül sistemi, yapıların ve bunların uygulamalarının ayrı dosyalara taşınmasıyla kodunuzu düzenlemenizi sağlar.
Ayrı bir dosyada modül oluşturmak için istediğiniz modül adıyla yeni bir dosya oluşturmanız yeterlidir. Örneğin, bir player modülü oluşturmak için player.rs adlı bir dosya oluşturursunuz:
// player.rs
struct Player {
name: String,
score: u32,
}
impl Player {
fn new(name: String) -> Player {
Player { name, score: 0 }
}
}
Bu modülü ana dosyanızda kullanmak için onu mod anahtar sözcüğüyle bildirirsiniz. Bu, Rust'a o ada sahip bir dosya aramasını söyler:
// main.rs
mod player;
fn main() {
// Artık player modülündeki öğelere erişebiliriz
}
mod player; bildirimi, Rust'a player.rs dosyasını bulup içeriğini dahil etmesini söyler. Bunu, o dosyanın kodunu programınıza bağlamak gibi düşünebilirsiniz. Modül adı, .rs uzantısı olmadan dosya adıyla tamamen aynı olmalıdır.
Bu ayrım, ilgili kodu bir arada tutar. Yapı tanımınız ve tüm yöntemleri tek bir özel dosyada bulunurken main.rs, programın giriş noktasına odaklanır. Bir sonraki derste, modüllere yerleştirdiğiniz öğelere gerçekten nasıl erişeceğinizi öğreneceksiniz.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Metotlar ve Davranış
Uygulama Bloklarına GirişSelf ParametresiDeğiştirilebilir Metotlarİlişkili FonksiyonlarBirden Fazla Uygulama BloğuMetot ZincirlemeÖzet - Dikdörtgen Eylemleri4Proje: Sanal Evcil Hayvan
Evcil Hayvanı TanımlamaEvcil Hayvanı Besleme2Kapsülleme ve Modüller
Modül TemelleriPublic Anahtar KelimesiPrivate AlanlarGetter'larSetter'larÖzet - Güvenli Kasa5Generic Yapılar
Generic Struct'larGeneric MetotlarÇoklu Generic TürlerGeneric FonksiyonlarÖzet - Koordinat Noktası8Sınırlandırıcı Olarak Trait'ler
Trait Sınırlandırıcı SözdizimiÇoklu SınırlandırıcılarWhere CümleciğiTrait'ler ile Tip DöndürmeÖzet - Generic Yazıcı11Rust'ta Tasarım Kalıpları
Newtype KalıbıKompozisyonDrop Trait'iFrom ve IntoÖzet - Smart Pointer Mock3İleri Seviye Enum'lar
Veri İçeren Enum'larEnum MetotlarıVeri Varyantlarını EşlemeOption Enum'ına Yeniden BakışÖzet - Shape Enum6Trait Tanımlama
Trait Nedir?Traitleri UygulamaVarsayılan UygulamalarVarsayılanları Geçersiz KılmaParametreli TraitlerÖzet - Media PlayerKendi başına pratik yap: Online Rust derleyicisi