0Pricing
Learn Rust Coding · Pelajaran

Modul dan mod

Menata kode

Modul dan mod adalah pelajaran Learn Rust Coding gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn Rust Coding, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn Rust Coding mencakup 4 pelajaran total.

Mengapa Modul?

Saat program berkembang, menempatkan semuanya dalam satu berkas menjadi berantakan. Modul memungkinkan Anda mengelompokkan kode yang terkait, mengatur apa yang bersifat publik, dan menghindari bentrokan nama.

Kata kunci mod mendeklarasikan sebuah modul.

Mendeklarasikan Modul Sebaris

Anda dapat mendefinisikan modul langsung di dalam berkas dengan mod name { ... }. Semua hal di antara kurung kurawal tersebut menjadi bagian dari modul itu.

mod greetings {
    fn hello() {
        println!("hello from the module");
    }
}

fn main() {
    println!("module declared above");
}

Memanggil Fungsi Modul

Item di dalam modul secara bawaan bersifat privat. Untuk memanggilnya dari luar, item tersebut harus diberi pub, lalu Anda merujuknya menggunakan jalur modul dengan ::.

mod greetings {
    pub fn hello() {
        println!("hello!");
    }
}

fn main() {
    greetings::hello();
}

Modul Bersarang

Modul dapat berisi modul lain sehingga membentuk sebuah pohon. Jalur mencantumkan setiap tingkat yang dipisahkan oleh ::.

mod app {
    pub mod ui {
        pub fn draw() {
            println!("drawing ui");
        }
    }
}

fn main() {
    app::ui::draw();
}

Modul Mengelompokkan Lebih dari Sekadar Fungsi

Sebuah modul dapat menampung fungsi, struct, enum, konstanta, bahkan modul lain. Dengan demikian, tipe dan perilaku yang terkait tetap berada bersama.

mod shapes {
    pub struct Circle {
        pub radius: f64,
    }
    pub const PI: f64 = 3.14159;
}

fn main() {
    let c = shapes::Circle { radius: 2.0 };
    println!("area = {}", shapes::PI * c.radius * c.radius);
}

Pohon Modul

Setiap crate memiliki modul akar. Modul yang Anda deklarasikan membentuk pohon di bawahnya. Jalur menjelaskan tempat suatu item berada, mirip seperti folder dalam sistem berkas.

super: Modul Induk

Di dalam modul, super merujuk pada modul induk. Ini memungkinkan modul anak memanggil sesuatu yang didefinisikan satu tingkat di atasnya.

fn top_level() {
    println!("called via super");
}

mod inner {
    pub fn run() {
        super::top_level();
    }
}

fn main() {
    inner::run();
}

self: Modul Saat Ini

self merujuk pada modul saat ini. Biasanya, fitur ini digunakan untuk memperjelas tempat suatu item berada dalam sebuah jalur.

mod tools {
    pub fn helper() {
        println!("helper running");
    }
    pub fn run() {
        self::helper();
    }
}

fn main() {
    tools::run();
}

Modul dalam Berkas Terpisah

Selain modul sebaris, mod network; (dengan titik koma dan tanpa isi) memberi tahu Rust untuk memuat isi dari network.rs atau network/mod.rs.

Inilah cara proyek nyata membagi kode ke beberapa berkas sambil mempertahankan satu pohon modul.

Batas Privasi

Modul membentuk batas privasi. Modul anak dapat melihat item privat milik leluhurnya, tetapi modul induk tidak dapat mengakses item privat milik anaknya.

Enkapsulasi ini menjaga detail internal tetap tersembunyi.

mod bank {
    fn secret() -> i32 { 42 }
    pub fn reveal() -> i32 { secret() }
}

fn main() {
    println!("{}", bank::reveal());
}

Mengatur Proyek Nyata

Gunakan modul untuk mencerminkan domain Anda: auth, db, handlers. Jaga agar setiap modul tetap fokus, tampilkan sedikit bagian publik, dan sembunyikan sisanya.

Batas modul yang jelas membuat basis kode besar lebih mudah dijelajahi.

Pemeriksaan Singkat

Uji pengetahuan Anda tentang modul.

Ringkasan

Anda telah mempelajari cara mengatur kode dengan modul:

  • mod name { ... } mendeklarasikan modul sebaris
  • Item bersifat privat secara bawaan; gunakan pub untuk mengeksposnya
  • Jalur menggunakan :: untuk menelusuri pohon modul
  • super, self, dan mod name; digunakan untuk menavigasi serta memisahkan modul

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Modul dan mod” gratis?

Ya — teks lengkap “Modul dan mod” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn Rust Coding, upgrade ke CoddyKit PRO. Kursus Learn Rust Coding mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Modul dan mod”?

Menata kode Kamu berlatih Learn Rust Coding dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn Rust Coding?

Tidak diperlukan pengalaman sebelumnya. Learn Rust Coding di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Modul dan mod” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn Rust Coding ini?

Ya. Setiap pelajaran Learn Rust Coding menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Modul dan mod
  2. pub dan Visibilitas
  3. use dan Path
  4. Crate dan Akar Crate
← Kembali ke Learn Rust Coding