Notice
Recent Posts
Recent Comments
Link
GitHub Contribution 그래프
Loading data ...
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

Youn's IT Memo

정리 2. Rust 데이터 타입 본문

Language/Rust

정리 2. Rust 데이터 타입

bellman66 2023. 8. 6. 14:29

Summary 

제가 쓰는 Java와 기본적인 것은 비슷한 경우가 많았습니다.

하지만 따로 정리가 필요한 경우 있어 정리가 필요해 보였습니다.

1. Immutability (불변성)

기본적으로 Rust는 불변성을 기반으로 합니다. 값을 변경할때 mut를 붙여 값을 변경하도록 합니다. 

let mut val:i8 = 3;

 

2. Shadowing

불변성을 유지하면서 타입과 값을 변경하고 동일한 변수를 사용하도록 합니다.

개인적으로 Mut와 기능적으로 비슷한 것 같지만 값을 계속 갱신시켜 나가면서 진행 

let white_spaces = "   ";
let white_spaces = white_spaces.len();

 

3. 스칼라 타입

1. 정수형 

정수 값을 지원하는 데이터 타입 
특이점 : Unsigned, 정수형 크기별로 값 지원 

    let decimal: i32 = 255; // 10 진수
    let hex: i32 = 0xff; // 16 진수
    let binary: i32 = 0b11111111; // 2 진수
    let byte: u8 = b'A';

2. 부동 소수점 

소수 점값을 지원하는 데이터 타입

특이점 : 32bit, 64bit 지원 ( 기본 64bit - 32bit와 성능차이는 거의 없음 )

    let minus = 95.5 - 4.3;   // 91.2
    let divide = 95.5 / 4.3;  // 22.209302325581397
    let remaind = 95.5 % 4.3; // 0.9000000000000039

3. Boolean 

일반적인 Boolean 값 

let check:bool = false;

4. Char 

문자형 값을 지원하는 데이터 타입

특이점 : ASCII가 아닌 유니코드를 사용 

let c = 'z';
let heart_eyed_cat = '😻';

 

4. 컴파운드 타입 ( 복합 타입 )

다른 타입들을 묶어 하나의 타입으로 표현

1. 튜플 ( Tuple )

자바에는 없는 튜플 ! 

    let tuple1 = (1, 2.3, "hello");
    let (tup_1, tup_2, tup_3) = (1, 2.3, "hello");  // 위 값과 똑같음

2. 배열 ( Array )

기본적으로 주어지는 배열 ( 다른점은 없음 )

    let mut arr: [i32; 5] = [1, 2, 3, 4, 5];
    arr[0] = 3;

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

정리 1. Rust 역사와 기본 설명  (0) 2023.07.30