Variabel & Mutability di Rust
Di Rust, variabel secara default bersifat immutable (tidak bisa diubah). Ini adalah fitur keamanan utama Rust.
Deklarasi Variabel dengan let
let x = 5;
// x = 10; // ERROR! variabel immutable tidak bisa diubah
Mutable Variable dengan let mut
let mut x = 5;
println!("x = {}", x); // x = 5
x = 10;
println!("x = {}", x); // x = 10
Konstanta dengan const
const MAX_SCORE: u32 = 100;
// const HARUS punya tipe data eksplisit dan nilainya harus diketahui saat kompilasi
Shadowing
Rust memperbolehkan kita mendeklarasikan ulang variabel dengan nama yang sama — ini disebut shadowing:
let x = 5;
let x = x + 1; // x sekarang 6
let x = x * 2; // x sekarang 12
println!("x = {}", x); // 12
// Shadowing bahkan bisa mengubah tipe!
let spaces = " "; // &str
let spaces = spaces.len(); // usize
Perbedaan mut vs Shadowing
let mut— variabel yang sama bisa diubah nilainya, tapi tipe harus tetap sama- Shadowing — membuat variabel baru dengan nama sama, bisa beda tipe