Archive/Rust

[Rustlings] 1. Variables

 Rust에서 변수는 기본적으로 immutable이다. immutable 변수를 선언하면 반드시 선언과 같이 값을 지정해야 한다. 또한 한번 선언한 변수는 절대로 값을 바꿀 수 없다. 변수의 타입은 타입 추론 덕분에 굳이 지정해줄 필요는 없다.

let var1 = 1;
let var2: i32 = -342;

 값을 바꿀 수 있는 변수를 선언할 수 있다. let 뒤에 mut를 붙이면 해당 변수는 mutable한 변수가 된다. mutable 변수는 선언할 때 같이 값을 지정해주지 않아도 된다. 또한 mutable 변수안에 같은 타입의 다른 값으로 바꿀 수 있다.

let mut mut_var;
mut_var = 12;
mut_var = -24;

 const 또한 한번 바인딩한 값을 바꿀 수 없는 변수다. 하지만 immutable 변수와 다른 점이 몇가지 있다. 먼저 const는 선언할 때 반드시 타입을 지정해줘야 한다. 그리고 const는 어떤 scope에서도 선언이 가능하다. 마지막으로 immutable 변수는 프로그램 실행 시 계산되는 표현으로 처리되지만 const는 상수 표현으로 취급된다.

const MAX_LENGTH: i32 = 126;

 또한 Rust는 이미 선언한 변수의 이름을 재사용할 수 있다. 이전에 선언한 변수 이름으로 다른 타입의 변수로 선언하면 해당 변수의 타입이 바뀐다. 이를 Shadowing이라고 한다.

let var = 54;
let var = "Now it's a string";

'Archive > Rust' 카테고리의 다른 글

[Rustlings] 6. struct  (0) 2021.05.16
[Rustlings] 5. Primitive Types  (0) 2021.05.15
[Rustlings] 4. Move Semantics  (0) 2021.05.14
[Rustlings] 3. if  (0) 2021.05.12
[Rustlings] 2. Functions  (0) 2021.05.11