Rust(8) Data Type

Scalar Types

Scalar는 고정된 메모리를 갖고있으며 1개의 값을 저장하는 종류.

Integer

  • i8, i16, i32, i128, isize
  • u8, u16, u32, u128, usize

타입의 작동방식은 C++과 동일하다. 특징이있다면 Rust에서는 배열인덱싱에서 usize를 써야함.

Compound Types

Tuple

Rust에서 튜플은 다양한 데이터타입도 한곳에 묶을수있다. 분리할땐 아래처럼 사용한다.

사용 용도로는 어떤 데이터셋을 한번에 함수에서 return하거나 매개변수로 받을 때, 클래스 선언하지않고 받을때 사용.

// x, y, z 변수로 빼내어 사용
fn main() {
    let tup = (500, 6.4, 1);

    let (x, y, z) = tup;

    println!("The value of y is: {y}");
}

// 배열처럼 인덱싱하기
fn main() {
    let x: (i32, f64, u8) = (500, 6.4, 1);

    let five_hundred = x.0;

    let six_point_four = x.1;

    let one = x.2;
}

Array 배열

배열은 다른 스칼라타입 변수처럼 스택메모리를 이용합니다.

배열은 항상 같은 타입의 데이터만 같은 변수에 저장가능합니다. Rust에서 배열은 고정 길이를 갖습니다 C++의 기본 배열을 생각하시면 됩니다.

fn main() {
    let a = [1, 2, 3, 4, 5];

    // 타입명시
    let a: [i32; 5] = [1, 2, 3, 4, 5];

    // 같은 값 대입
    let a = [3; 5];
}

댓글 남기기