[Rust/러스트] 변수 정의

2022. 2. 10. 17:51Programming Language/Rust

반응형

■ 변수

러스트 변수의 특징은 선언과 초기화된 이후에 수정이 불가능하다는 불변성을 갖고 있습니다.

이는 러스트가 제공하는 안전성과 동시성을 취하기 위한 핵심적인 역할을 합니다.

 

하지만 여러 글로벌 프로그래밍 언어에서의 변수가 가변성을 통해 매우 유용하게 사용되듯이

러스트도 변수에 접두어(mut)를 취함으로써 가변성 변수로 사용할 수 있습니다.


◆ 변수의 불변성 특징

number 변수를 10으로 초기화하고 100으로 수정해봄으로써, 간단하게 변수의 불변성을 체크할 수 있습니다.

fn main() {
    let number = 10;
    println!("My number is {}", number);

    number = 100; // 에러 발생 지점
    println!("Change my number : {}", number);
}

▶ 출력 결과(에러 발생)


◆ 변수의 가변성 특징

정수 데이터를 갖는 number 변수 앞에 접두어(mut)를 추가하고 10에서 100으로 수정해봄으로써,

간단하게 변수의 가변성을 체크할 수 있습니다.

fn main() {
    let mut number = 10;
    println!("My number is {}", number);

    number = 100;
    println!("Change my number : {}", number);
}

▶ 출력 결과(정상 출력)


◆ 변수 쉐도잉(Shadowing)

같은 이름의 변수를 새롭게 선언 함으로써 다양한 데이터를 사용할 수 있습니다.

정수 데이터 10을 갖고 있는 data 변수에 문자열 데이터 "Hyunmin"을 새롭게 선언 및 초기화함으로써, 변수의 쉐도잉을 체크할 수 있습니다.

fn main() {
    let data = 10; // 정수 데이터를 갖는 변수 
    println!("My data is {}", data);

    let data = "Hyunmin"; // 문자열 데이터를 갖는 변수
    println!("My data is {}", data);
}

▶ 출력 결과(정상 출력)

반응형

'Programming Language > Rust' 카테고리의 다른 글

[Rust/러스트] 반복문 정리  (0) 2022.02.16
[Rust/러스트] 조건문 정리  (0) 2022.02.16
[Rust/러스트] 함수 정리  (0) 2022.02.15
[Rust/러스트] 배열 다루기  (0) 2022.02.11
[Rust/러스트] 튜플 다루기  (0) 2022.02.11