Rust - 데이터 유형, 변수
들어가기전에
언어에 대한 경험은 자바스크립트 정도입니다.
php와 python을 공부해본 적이 있긴 한데 써본지 오래되서 가물가물하네요.
동적 타입 언어들만 쓰다가, 정적 타입 언어는 타입스크립트 이후로 처음입니다.
아래 내용은 강의와 책을 보면서 공부한 것들을 정리한 내용입니다.
기본 데이터 타입
rust 언어의 기본 데이터 타입입니다. 복합 타입은 나중에 ...
- Boolean
true, false - Integer
1, 2, 100, -10 - Double/Float
1.5, 28.0002, 2.1 - Character
'A', 'b', '6', '@' - String
"Hello World", "문자열은 큰따옴표로 묶는다"
- null이 없다는 게 참 특이합니다.
- character 와 string으로 구분하여 글자 하나만 다룰때와 문자열로 다룰때를 구분하고 있습니다.
부호가 있는 정수타입 | 부호가 없는 정수타입 | ||
---|---|---|---|
i8 | 8비트 정수 (-128~127) | u8 | 8비트 정수(0~255) |
i16 | 16비트 정수(-32768~32767) | u16 | 16비트 정수(0~65535) |
i32 | 32비트 정수(-2147483648~2147483647) | u32 | 32비트 정수(0~4294967295) |
i64 | 64비트 정수(-9223372036854775808~9223372036854775807) | u64 | 64비트 정수(0~18446744073709551615) |
i128 | 128비트 정수(-2^127^ ~ 2^127^ - 1) | u128 | 128비트 정수(0 ~ 2^128^ - 1) |
isize | OS에 따라감(64비트 OS라면 i64) | usize | OS에 따라감(64비트 OS라면 u64) |
부동소수점 타입
- f32 - 32비트 부동소수점(실수)
- f64 - 64비트 부동소수점(실수)
변수
let one = 1;
let hi = "hi"; // 문자열은 큰따옴표
let a = 'a'; // 문자는 작은따옴표
let half_number = 0.5;
let is_exist = false;
let my_number = half_number;
rust의 변수에는 이렇게 다양한 값을 넣을 수 있습니다.
문자열, 문자, 숫자, boolean 그리고 다른 변수를 그대로 넣을 수도 있습니다. 재미있는 점은 rust에서 변수는 immutable(불변)이 기본 값입니다.
쉽게 말해서 변수인데 바꿀 수가 없습니다.
기본적으로는 상수처럼 작동합니다.
그래서 자바스크립트처럼 let으로 선언한 변수에 값을 마음대로 바꿀 수가 없습니다. 만약 mutable(변경 가능)한 변수로 사용하기 위해선 아래처럼 사용해야합니다.
let mut name = "이름";
mut을 붙여주면 변경이 가능한 변수가 됩니다.
출처: "Rust Programming 핵심강의" , "만들면서 배우는 러스트 프로그래밍"