[Rust] 3. 변수와 데이터 타입
프로그래밍 언어/Rust2023. 1. 20. 00:41
데이터 타입
러스트(Rust) 에서 사용되는 데이터 타입에 대해서 알아보도록 하겠습니다.
정수형 타입
크기 | Signed | Unsigned |
8 비트 | i8 | u8 |
16 비트 | i16 | u16 |
32 비트 | i32 | u32 |
64 비트 | i64 | u64 |
128 비트 | i128 | u128 |
아키텍처별 타입 | isize | usize |
let ii8: i8 = 10; // i8 형식으로 똑같다
let i = 10_i8; // i8 형식으로 똑같다
let j = 10i8; // i8 형식으로 똑같다
let ii16: i16 = 15;
let ii32: i32 = 20;
let ii64: i64 = 25;
let ii128: i128 = 30;
정수형 타입 범위
println!("i8 : {} ~ {}", i8::MIN, i8::MAX);
println!("u8 : {} ~ {}", u8::MIN, u8::MAX);
println!("i16 : {} ~ {}", i16::MIN, i16::MAX);
println!("u16 : {} ~ {}", u16::MIN, u16::MAX);
println!("i32 : {} ~ {}", i32::MIN, i32::MAX);
println!("u32 : {} ~ {}", u32::MIN, u32::MAX);
println!("i64 : {} ~ {}", i64::MIN, i64::MAX);
println!("u64 : {} ~ {}", u64::MIN, u64::MAX);
println!("i128 : {} ~ {}", i128::MIN, i128::MAX);
println!("u128 : {} ~ {}", u128::MIN, u128::MAX);
부동 소수점 타입
크기 | 타입 |
32 비트 | f32 |
64 비트 | f64 |
let a: f32 = 1.2; // f32
let b: f64 = 3.4; // f64
bool 형 타입
타입 | 값 |
bool | true 혹은 false |
let bType: bool = true;
문자형
타입 | 크기 | 범위 |
char | 4byte | U+0000 ~ U+D7FF ~ U+E000 ~ U+10FFFF |
let ch: char = 'X';
let cat: char = '😻';
문자열
let str = "Hello World!";
배열(array)
동일한 데이터 타입을 갖는 요소들의 집합
let arr: [i32; 5] = [1, 2, 3, 4, 5];
println!("{}", arr[1]); // arr[1] 값 출력
println!("{:?}", arr); // arr 전체 출력
듀플(tuple)
여러 데이터 타입의 값들을 하나로 묶는 데이터타입
let tu: (i32, bool, char) = (7, true, 'T');
let data = ("test", 'A', 10, false);
println!("{}", tu.2); // tuple 값 출력
println!("{}", data.0);
let(a, b, c) = tu; // tuple 값을 a, b, c 변수에 저장
println!("{}, {}, {}", a, b, c);
가변 변수 : mut
변수의 데이터가 변경되어야 할때에는 변수명 mut 키워드를 지정한다
let mut a: i32 = 10;
println!("{}", a); // 10 출력
a = 20; // 에러 없음
println!("{}", a); // 20 출력
상수 (sonstant)
변하지 않는 값을 갖는다. 상수는 let 이 아닌 const 로 선언되며 항상 데이터타입이 지정되어야 한다.
const data: i32 = 1004;
let a = data * 100;
println!("{}", a);
Shadowing
rust 에서만 제공되는 기능으로 let으로 선언된 변수를 동일한 스코프 블럭내에서 여러번 let으로 정의하여 사용하는것이 가능하다.
let a = 10;
println!("{}", a);
let a = 'a';
println!("{}", a);
let a = 3.14;
println!("{}", a);
let a = "Hello World!";
println!("{}", a);
블록 변수 선언
다음과 같이 변수도 선언이 가능합니다.
let x = {
let a = 10;
a * 2
};
'프로그래밍 언어 > Rust' 카테고리의 다른 글
[Rust] 6. 제어문과 반복문 (if, loop, for, while) (0) | 2023.01.26 |
---|---|
[Rust] 5. 주석 (0) | 2023.01.26 |
[Rust] 4. 함수 (0) | 2023.01.24 |
[Rust] 2. Rust 설치 없이 온라인에서 코딩하기 (0) | 2023.01.18 |
[Rust] 1. Rust 란? (0) | 2023.01.18 |