Rust에서 같은 변수명으로 선언(섀도잉)이란?

1999 단어 Rust

섀도잉이란?


  • Rust에서는 이전에 정의한 변수와 이름이 같은 변수를 새로 선언할 수 있습니다.
  • 또 새로운 변수는, 이전의 변수를 가리키는 것과 같은 동작이 됩니다.


  • fn main() {
        let x = 1;
    
        let x = x + 2;
    
        let x = x * 3;
    
        println!("The value of x is: {}", x);
    }
    
  • 그런데 이것을 실행하면 어떻게 될까요··?

  • 실행 결과
    ❯ cargo run
       Compiling variables v0.1.0 (/Users/yoshitaka.koitabashi/Desktop/variables)
        Finished dev [unoptimized + debuginfo] target(s) in 0.24s
         Running `target/debug/variables`
    The value of x is: 9
    

    해설
  • 결과를 보면 계산 결과는 9를 출력하고 있습니다.
  • 움직임으로는 먼저 x를 1이라는 값에 묶습니다.
  • 두 번째 let에서는 x를 가리키고 원래 값에 2를 더하기 때문에 x의 값은 3입니다.
  • 세 번째 let에서도 x를 가리고 두 번째 x에 3을 곱하기 때문에 출력되는 x의 값은 9입니다.

  • 장점


  • 이 그림자 덕분에 다른 이름을 생각할 필요가 없어지는 것입니다. 명명하기가 힘들기 때문에 매우 저로서는 감사합니다!


  • 그러고 보면 최근 알았는데, Rust 프로그래머를 「Rustacean」이라고 부르는 것 같고, 이것은 crustacean 로부터 와 있다고 한다. .
  • 그건 그렇고, 러스트 커뮤니티의 비공식 마스코트는 이것이 될 것입니다.

  • 좋은 웹페이지 즐겨찾기