Variable & Data Types in Rust

Rust에서 변수의 특징은 기본적으로 immutable 이라는 것과 shadowing을 허용한다는 것 이다.

변수 선언을 위한 Syntax는 아래와 같다.
let variable_name: dataType = value;

Data Type들 중 기본적인 Scalr Type과 Compound Type(tuple, array)들에 대해서는 아래에서 확인하면 된다.
https://doc.rust-lang.org/book/ch03-02-data-types.html

변수 선언시 dataType은 상황에 따라서는 생략 가능하며, 생략시 integer의 경우 i32으로 float의 경우 f64를 기본으로 한다.

아래는 Compound type의 정의와 초기화 그리고 접근에 대한 예이다.

// tuple
let x: (i32, f64, u8) = (500, 6.4, 1);
let first = x.0;
let last = x.2;

// array
let a: [i32; 5] = [1, 2, 3, 4, 5];
let first = a[0];
let last = a[4];

그 외에도 struct와 enum 을 사용해서 사용자의 용도의 맞는 변수 묶음을 만들 수 있으며, Standard Library에서 제공하는 Option, Result, String, Vec, Box, Rc 등과 같은 타입들이 있다.

기본적으로 변수는 immutable 속성을 갖는다. 따라서 값을 바꿀 수 없다.

변수인데 값을 바꿀 수 없다니...
값을 바꿔야 한다면 선언 할때 mut 키워드를 지정 해 줘야 한다.
let mut var: i32 = 0;

상수의 경우 let 대신 const를 사용하며, 항상 dataType을 명시적으로 써 줘야 하며 mutable로 이용 할 수 없다.