Literal dan Operator

Literal: data konstanta yang ditulis langsung di kode dan nilainya langsung terlihat sekilas, merupakan bentuk representasi data paling dasar dalam program.

Nilainya tetap dan tidak bisa berubah, tertulis secara permanen di kode dan tidak dapat diubah saat program berjalan. Tidak perlu perhitungan maupun parsing variabel, secara harfiah berarti “nilai tertulis apa adanya”.

Contoh: angka 13 dan 3.14 di bawah ini adalah literal, di bahasa pemrograman lain juga disebut nilai literal.

fn main() {
    println!("{}", 13);
    println!("{}", 3.14);
}Code language: JavaScript (javascript)

Agar mudah dipelajari, tim resmi menyediakan editor Rust berbasis daring. Anda tidak perlu memasang lingkungan lokal untuk berlatih sintaks dasar Rust, klik tautan di bawah

Rust Playground

Literal

Rust mendukung literal tipe berikut: bilangan bulat, bilangan pecahan titik mengambang, karakter, string, boolean, unit (satuan).

  • Bilangan bulat: 11
  • Karakter: 'a' (tanda kutip tunggal)
  • String: "abc" (tanda kutip ganda)
  • Boolean: true / false
  • Tipe unit: ()

Berbagai sistem bilangan untuk bilangan bulat

Sistem bilangan dibedakan dengan awalan (prefix), hanya berlaku untuk bilangan bulat:

  • Heksadesimal: dimulai dengan 0x, contoh: 0x1F
  • Oktal: dimulai dengan 0o, contoh: 0o77
  • Biner: dimulai dengan 0b, contoh: 0b1010

Pemisah angka

Di dalam literal angka bisa disisipkan garis bawah _ agar lebih mudah dibaca, tidak mengubah nilai angka asli:

  • Bilangan bulat: 1_000 = 1000
  • Bilangan titik mengambang: 0.000_001 = 0.000001

Notasi ilmiah

Bilangan titik mengambang mendukung notasi ilmiah dengan huruf E, tipe bawaan adalah f64:

  • 1e6 = 1000000
  • 7.6e-4 = 0.00076

Akhiran tipe literal (Penting)

Rust mewajibkan tipe literal ditulis secara eksplisit, berikut akhiran yang sering dipakai:

  • u32: bilangan bulat 32 bit tanpa tanda (hanya nilai non-negatif)
  • i32: bilangan bulat 32 bit bertanda (bisa positif maupun negatif)

Peringatan: Tidak boleh mencampur operasi bilangan bulat bertanda dan tanpa tanda, akan langsung muncul error kompilasi.

Contoh Kode:

fn main() {
    // 1. Literal bilangan bulat biasa
    println!("Bilangan bulat: {}", 13);
    // Bilangan biner, oktal, heksadesimal
    println!("Biner: {}", 0b1010);
    println!("Oktal: {}", 0o77);
    println!("Heksadesimal: {}", 0x2A);
    // Bilangan bulat dengan pemisah (mudah dibaca)
    println!("Bilangan bulat dengan garis bawah: {}", 1_000_000);
    // Bilangan bulat dengan akhiran tipe
    println!("u32 bilangan bulat tanpa tanda: {}", 100u32);
    println!("i32 bilangan bulat bertanda: {}", -50i32);

    // 2. Literal bilangan titik mengambang
    println!("Bilangan titik mengambang: {}", 3.14);
    // Bilangan titik mengambang dengan garis bawah
    println!("Bilangan titik mengambang dengan garis bawah: {}", 0.000_001);
    // Bilangan titik mengambang notasi ilmiah
    println!("Notasi ilmiah: {}", 1e6);
    println!("Notasi ilmiah negatif: {}", 7.6e-4);

    // 3. Literal string (tanda kutip ganda)
    println!("String: {}", "hello world");

    // 4. Literal karakter (tanda kutip tunggal, hanya satu karakter saja)
    println!("Karakter: {}", 'a');
    println!("Karakter Mandarin: {}", '中');

    // 5. Literal boolean
    println!("Boolean true: {}", true);
    println!("Boolean false: {}", false);

    // 6. Literal unit () (tipe unit milik Rust)
    println!("Tipe unit: {:?}", ());
}Code language: JavaScript (javascript)

Operator

Aturan dan urutan prioritas operator Rust hampir sama dengan bahasa keluarga C.

1

Previous:
Next:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *