DEV Community

Abdul Ghofur
Abdul Ghofur

Posted on

1 1

Rust - Variable

Variable

Semua materi merupakan rangkuman belajar.

Untuk bacaan yang lebih langkap & update, dipersilahkan akses pada
The Book

Variable pada Rust bersifat immutable (tidak dapat dirubah) secara default.

Memiliki 2 keyword variable

  • let
  • const

Penuliasan variable pada Rust mengikuti metode snake_case.

  • menggunakan huruf kecil
  • dipisahkan dengan underscore

Let

fn main() {
  let doi = "Rizki";
  println!("Kenalin nih guys, doi gw {}", doi);

  doi = "Amel";
  println!("Kenalin nih guys, doi gw {}", doi);
}
Enter fullscreen mode Exit fullscreen mode

Sudah disebutkan sebelumnya bahwa variable bersifat immutable secara default.
Ini berarti, bila kita menuliskannya secara normal, maka kita ngga bisa ganti si doi ini ya.

Kode di atas akan menghasilkan error cannot assign twice to immutable variable doi

Nah, kalau kita ingin bisa mengubah si doi ini nanti (menjadikannya mutable),
ya kita harus menuliskannya sedari awal, dengan keyword mut.

fn main() {
  let mut doi = "Rizki";
  println!("Kenalin nih guys, doi gw {}", doi);

  doi = "Amel";
  println!("Kenalin nih guys, doi gw {}", doi);
}
Enter fullscreen mode Exit fullscreen mode

Seperti contoh di atas,
bila dari awal bilang "nanti bisa ganti ya",
tidak akan menimbulkan masalah.

Hal ini menjadi penting untuk diantisipasi di compiler,
agar tidak terjadi di production.
Karena semakin berkembang projek yang sedang kita kerjakan,
maka akan sangat mungkin variable dipakai & diubah pada fungsi yang lain.

Compiler manjamin hal itu tidak akan terjadi,
jika ada code yang mencoba mengubah variable yang seharusnya immutable,
akan error di compiler.

Const

Seperti constant pada umumnya,
const adalah keyword untuk variable yang sama sekali tidak bisa diubah.
Lantas apa bedanya dengan default let?

  1. Kita tidak dapat menggunakan mut pada const
  2. Kita harus menuliskan tipe data pada const
  3. const dapat dipakai di level scope manapun, termasuk global scope
  4. const hanya dapat diisi dengan constant expression Langsung dengan nilainya, tidak dapat diisi dengan hasil dari fungsi atau yang lainnya yang berjalan pada runtime.

Penamaan constant biasa dengan HURUF BESAR dengan underscore

const TANGGAL_LAHIR: u32 = 22;
Enter fullscreen mode Exit fullscreen mode

Terima kasih.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay