본문 바로가기
개발/러스트 (Rust)

Rust 기본, Creation, Mutability, Shadowing, Scope 이해하기.

by 레조 2024. 5. 16.

https://rustacean.net/

 

Rust 기본 : Creation, Mutability, Shadowing, Scope.

 

생성(Creation)

변수나 데이터 구조체를 새로 만드는 과정을 의미합니다.

Rust에서는 let 키워드를 사용하여 새 변수를 생성할 수 있습니다.

 

가변성(Mutability)

변수의 값을 변경할 수 있는 성질입니다.

Rust에서는 기본적으로 변수가 불변(immutable)이며,

mut 키워드를 사용하여 명시적으로 가변(mutable)으로 선언해야 합니다.


섀도잉(Shadowing)

같은 이름의 새로운 변수를 선언함으로써 이전 변수를 가리는 기법입니다.

이는 Rust에서 let 키워드를 사용하여 동일한 이름의 변수를 재선언함으로써 수행할 수 있으며,

새 변수는 이전 변수의 값을 "섀도"하게 됩니다.


범위(Scope)

변수나 함수와 같은 식별자의 유효 범위를 의미합니다.

Rust에서 범위는 중괄호 {}로 정의되며, 변수는 선언된 범위 안에서만 접근 가능합니다.

 


 

CODE

fn main() {
    // Creation (let)
    // 불변이 기본 설정이다.
    let a: i16 = 5;

    // mutability (let mut)
    // 하나의 변수 값을 수정한다.
    let mut b = 5;
    b = 10;

    // shadowing
    // 두개의 변수를 생성하여 컴파일러가 하나만 볼 수 있게 가린다.
    let c = 10;
    let c = 20;
    
    println!("c is: {c}");

    // scope (main {})
    let d = 30;

    {
    	// shadowing, scope (inner block {})
        let d = 40; 
        println!("inner d is: {d}");
    }

    // scope (main {})
    println!("d is: {d}");
}

 

RUN

c is: 20
inner d is: 40
d is: 30