0Pricing
Learn Rust Coding · Pelajaran

Expression dan Pernyataan

Expression terakhir

Expression dan Pernyataan adalah pelajaran Learn Rust Coding gratis di CoddyKit. Ini adalah pelajaran 2 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.

Pernyataan vs Ekspresi

Rust membedakan dua jenis kode:

  • Pernyataan melakukan tindakan dan tidak mengembalikan nilai.
  • Ekspresi dievaluasi menjadi sebuah nilai.

Perbedaan ini memengaruhi cara fungsi mengembalikan nilai.

fn main() {
    let x = 5;      // a let statement
    let y = x + 1;  // x + 1 is an expression
    println!("{}", y);
}

let adalah Pernyataan

Binding let adalah sebuah pernyataan. Binding ini tidak mengembalikan nilai, sehingga Anda tidak dapat menulis let a = (let b = 6);.

fn main() {
    let a = 6;
    // let c = (let d = 6); // error: let is not an expression
    println!("{}", a);
}

Ekspresi Dievaluasi Menjadi Nilai

Aritmetika, pemanggilan fungsi, dan literal semuanya merupakan ekspresi karena menghasilkan nilai.

  • 5
  • 2 + 3
  • square(4)
fn main() {
    let v = 2 + 3 * 4;
    println!("{}", v);
}

Blok adalah Ekspresi

Sebuah blok { ... } juga merupakan ekspresi. Nilainya adalah ekspresi terakhir di dalamnya, jika tidak diakhiri titik koma.

fn main() {
    let y = {
        let x = 3;
        x + 1
    };
    println!("y is {}", y);
}

Titik Koma Itu Penting

Menambahkan titik koma mengubah ekspresi menjadi pernyataan dan membuang nilainya.

  • x + 1 — ekspresi, menghasilkan nilai.
  • x + 1; — pernyataan, menghasilkan ().
fn main() {
    let y = {
        let x = 3;
        x + 1   // no semicolon: this is the block's value
    };
    println!("{}", y);
}

Ekspresi Terakhir Dikembalikan

Dalam sebuah fungsi, ekspresi terakhir tanpa titik koma menjadi nilai kembalian. Ini merupakan gaya yang umum digunakan dalam Rust.

fn main() {
    println!("{}", five());
}

fn five() -> i32 {
    5
}

Titik Koma Menggagalkan Nilai Kembalian

Jika Anda tidak sengaja menambahkan titik koma pada baris terakhir, fungsi mengembalikan (), bukan nilai Anda — kesalahan yang umum dilakukan pemula.

fn main() {
    println!("{}", plus_one(10));
}

fn plus_one(n: i32) -> i32 {
    n + 1   // correct: no semicolon
}

if sebagai Ekspresi

Karena if merupakan ekspresi, Anda dapat menetapkan hasilnya ke sebuah variabel. Kedua cabang harus menghasilkan tipe yang sama.

fn main() {
    let condition = true;
    let number = if condition { 5 } else { 6 };
    println!("number is {}", number);
}

loop sebagai Ekspresi

Sebuah loop dapat mengembalikan nilai melalui break. Nilai setelah break menjadi hasil loop.

fn main() {
    let mut counter = 0;
    let result = loop {
        counter += 1;
        if counter == 10 {
            break counter * 2;
        }
    };
    println!("result {}", result);
}

match sebagai Ekspresi

match juga merupakan ekspresi. Setiap lengan menghasilkan nilai, dan nilai dari lengan yang cocok menjadi hasilnya.

fn main() {
    let n = 2;
    let label = match n {
        1 => "one",
        2 => "two",
        _ => "many",
    };
    println!("{}", label);
}

Menggabungkan Semuanya

Memperlakukan blok dan alur kontrol sebagai ekspresi membuat Rust menjadi ringkas: Anda dapat menghitung dan mengembalikan nilai dalam satu langkah yang lancar.

fn main() {
    let score = 85;
    let grade = if score >= 90 { 'A' } else if score >= 80 { 'B' } else { 'C' };
    println!("grade {}", grade);
}

Pemeriksaan Singkat

Apa yang dilakukan penambahan titik koma terhadap sebuah ekspresi?

Ringkasan

Ekspresi dan pernyataan dalam Rust:

  • Pernyataan (seperti let) melakukan pekerjaan, tetapi tidak mengembalikan nilai.
  • Ekspresi dievaluasi menjadi sebuah nilai.
  • Blok, if, match, dan loop merupakan ekspresi.
  • Ekspresi terakhir tanpa titik koma merupakan nilai kembalian.
fn main() {
    let x = { let a = 2; a * a };
    let y = if x > 3 { "big" } else { "small" };
    println!("{} {}", x, y);
}

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Expression dan Pernyataan” gratis?

Ya — teks lengkap “Expression dan Pernyataan” 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 “Expression dan Pernyataan”?

Expression terakhir 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 2 dari 4.

Berapa lama pelajaran “Expression dan Pernyataan” 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. Mendefinisikan Fungsi
  2. Expression dan Pernyataan
  3. Closure
  4. Fn, FnMut, FnOnce
← Kembali ke Learn Rust Coding