Halo teman-teman semuanya, setelah pada artikel sebelumnya kita belajar tentang tipe data di Rust, kali ini kita akan membahas mengenai variable dan konsep mutability. Topik ini sangat penting karena Rust memiliki aturan unik dalam pengelolaan variabel, berbeda dengan bahasa lain.
Apa Itu Variable?
Variable adalah tempat untuk menyimpan nilai yang bisa digunakan dalam program. Di Rust, variabel dideklarasikan menggunakan keyword let
.
Contoh:
fn main() {
let name = "Rust";
println!("Hello, {}", name);
}
Pada contoh di atas, kita membuat variabel name
dengan nilai "Rust"
. Secara default, variabel di Rust bersifat immutable.
Immutable Variable
Immutable berarti nilai variabel tidak bisa diubah setelah diinisialisasi. Jika kita coba mengubahnya, maka akan muncul error saat compile.
fn main() {
let x = 10;
x = 20; // error: cannot assign twice to immutable variable
}
Hal ini membuat kode lebih aman dan mencegah bug yang sulit dilacak akibat perubahan nilai yang tidak terduga.
Mutable Variable
Jika kita memang ingin variabel bisa diubah, gunakan keyword mut
.
fn main() {
let mut counter = 0;
counter = counter + 1;
println!("Counter: {}", counter);
}
Dengan menambahkan mut
, variabel counter
bisa diubah nilainya.
Constant
Selain let
, Rust juga memiliki const
untuk mendefinisikan konstanta. Nilai const
harus ditentukan saat compile time dan tidak bisa diubah. Biasanya ditulis dengan huruf kapital.
const MAX_POINTS: u32 = 100_000;
fn main() {
println!("Max: {}", MAX_POINTS);
}
Perbedaan dengan let
:
const
harus didefinisikan dengan tipe data eksplisit.
const
tidak bisa menggunakan nilai hasil perhitungan runtime.
const
bisa didefinisikan di luar fungsi.
Shadowing
Rust juga mendukung shadowing, yaitu mendefinisikan ulang variabel dengan nama yang sama. Variabel lama akan “tertutupi” oleh variabel baru.
fn main() {
let x = 5;
let x = x + 1; // shadowing
let x = x * 2;
println!("Nilai x: {}", x); // 12
}
Perbedaan shadowing dengan mut
:
- Dengan
mut
, kita benar-benar mengubah nilai variabel yang sama.
- Dengan shadowing, kita membuat variabel baru dengan nama yang sama.
Kesimpulan
Pada artikel ini, kita sudah belajar bagaimana Rust mengatur variabel dengan konsep immutable secara default, cara membuat mutable variable dengan mut
, mendefinisikan konstanta dengan const
, serta fitur shadowing untuk mendeklarasikan ulang variabel. Di artikel berikutnya, kita akan membahas tentang Operator di Rust.
Terima Kasih