Rust

[Rust] mut 변수

Ninestar 2024. 2. 15. 15:24
반응형

Rust 프로그래밍 언어에서 모든 변수는 "디폴트로" 불변성(Immutability)의 성질을 갖습니다.

불변성(Immutability)이란 변수에 값이 한번 지정된 후에는 그 값을 변경할 수 없는 특성을 말합니다.

 

반면에 mut는 변수의 값을 변경할 수 있는 변수입니다. 

 

다음은 쓰레드나 프로세스 내부에서 mut변수를 선언하고 값을 변경합니다.

let mut a = json!({...}); 
	a.insert(...);
	...
}

 

하지만 외부에서 접근하여 해당 변수의 값을 변경하고자 한다면 해당 변수값은 쉽게 바뀝니다.

 

이는 Rust 스럽지 않은 코드입니다.

 

이를 해결하기 위해 다음과 같이 immutable 변수로 감싸줍니다

let a = {
	let mut a = json!({...});
	a.insert(...);
    
	a
};

 

이렇게하면 외부에서 수정할 수 없는 변수가 됩니다.