Rust에서는 기본적으로 변수는 immutable
이다. 하지만 변수 앞에 mut
를 붙여줌으로써 코드를 읽는 사람과 컴파일러에게 변수가 mutable이라는 정보를 전달해준다. 하지만 같은 이름의 변수를 선언하는 것은 가능하며, 이것을 "Shadowing"이라고 한다.
fn main() {
let mut x = 5;
println!("The value of x is: {x}");
x = 6;
println!("The value of x is: {x}");
}
constant는 일반적인 변수(variable)와 마찬가지로 불변이지만, 몇가지 차이점이 존재한다.
1. constant는 앞에 mut
를 붙일 수 없다.
2. constant는 앞에 let
이 아닌 const
키워드와 함께 타입이 지정되어야 한다.
3. constant는 global을 포함한 모든 scope에서 선언이 가능하다.
// const 선언 방법
const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;