DEV Community

abdulghofurme
abdulghofurme

Posted on

Rust - Variable Shadowing

Variable Shadowing

Semua materi merupakan rangkuman belajar.

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

Kita dapat membuat ulang sebuah variable dengan nilai yang berbeda,
ini disebut Shadowing pada Rust.

Perlu digarisbawahi ini berbeda dengan mengubah nilai variable

Mutating

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

Shadowing

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

  let doi = doi.to_lowercase();;
  println!("Kenalin nih guys, doi gw {}", doi);
}
Enter fullscreen mode Exit fullscreen mode
  1. Kita tidak perlu mut pada shadowing
  2. Kita tidak perlu menulis let pada mutating
  3. Kita dapat mengubah tipe data pada shadowing Karena pada dasarnya kita membuat variable baru dengan nama samauntuk menggantikan yang sebelumnya
let spaces = "   ";
let spaces = spaces.len();
Enter fullscreen mode Exit fullscreen mode

Hal ini untuk menghindari banyaknya variable seperti spaces, spaces_str, spaces_len, dan lainnya.
apakah mungkin untuk efisiensi alokasi memory?? mungkin, masih belajar juga

Well, plus dan minus,
Namun demikian feature shadowing pada Rust
pemakaiannya tergantung developer...

Terima kasih.

Top comments (0)