러스트에서는 자료형을 크게 둘로 나눕니다.
하나는 스칼라 타입 하나는 컴파운드 타입입니다.
이 글에서는 스칼라 타입을 다룹니다.
아래는 러스트에서 사용되는 정수 자료형의 종류입니다.
Length | Signed | Unsigned |
---|---|---|
8-bit | i8 | u8 |
16-bit | i16 | u16 |
32-bit | i32 | u32 |
64-bit | i64 | u64 |
128-bit | i128 | u128 |
arch | isize | usize |
let a:u32=1;
이런식으로, 변수명에 콜론(:)과 자료형 이름을 덧붙입니다.
signed 정수는 i
unsigned 정수는 u이고, 거기에 추가로 사용할 비트수를 붙이는 식입니다.
이때, isize와 usize는 컴퓨터에 따라 사이즈가 달라집니다.
32비트 운영체제에서는 32비트, 64비트 운영체제에서는 64비트가 할당됩니다.
정수 표기시, 다음과 같이 표기할수 있습니다.
Number literals | Example |
---|---|
Decimal | 98_222 |
Hex | 0xff |
Octal | 0o77 |
Binary | 0b1111_0000 |
Byte (u8 only) | b'A' |
데시멀은 십진법, 헥스는 16진법, 옥탈은 8진법, 바이너리는 2진법 표기를 의미합니다.
바이트는 문자 넣을때 씁니다. 덕분에 u8에서만 쓰일수 있습니다. (즉, char과 유사합니다.)
그리고 C에서와는 달리, 이진수 표현도 지원된다는걸 알수 있습니다.
이쯤되면 저번 강의에서 처럼 타입 어노테이션이 없는 경우, 어떤 자료형이 되는지 의문이 생기실겁니다.
let a= 32;
이경우에 어떤 자료형일까요?
정답은 i32입니다.
일반적으로 32비트 운영체제가 많아서 대부분 빠르기 때문에 기본이 i32입니다.(심지어, 64비트 운영체제에서도 디폴트는 i32자료형입니다.)
나머지는 훨씬 간단합니다.
1.부동 소수점 자료형
실수 자료형은 f32, f64 두가지고, 디폴트 자료형은 f64입니다.
참쉽죠?
얘내를 표기하는 방법은, C에서처럼 소수표기를 해주면 됩니다. (ex. 1.0)
2. 논리 자료형(boolean type)
표기는 다음과 같습니다.
let a:bool = true;
값은 true와 false 두가지가 가능하고, 이후 if문같은 제어구조에서도 쓰입니다.
3.문자 자료형
표기는 다음과 같습니다.
let a:char = 'h';
주의할 점은, 큰따옴표가 아니라 작은따옴표라는거에 주의합시다.
python이나 js에서 하는것 마냥 큰따옴표를 쓰면 컴파일 에러를 뿜습니다.
왜냐하면 작은따옴표는 문자, 큰따옴표는 문자열을 표현하기 때문입니다.
U+0000
~
U+D7FF
,
U+E000
~
U+10FFFF)
'Rust' 카테고리의 다른 글
[Rust]5. 흐름 제어 (조건문과 반복문) (0) | 2018.11.08 |
---|---|
[Rust]4. 함수 (0) | 2018.11.07 |
[Rust]3. 컴파운드 타입 (0) | 2018.11.06 |
[Rust]1. 변수와 상수 (1) | 2018.11.05 |
[Rust]0. 시작하기, 출력 (0) | 2018.11.05 |