소개
이 랩에서는 부호 있는 정수, 부호 없는 정수, 부동 소수점 숫자, 유니코드 스칼라 값, 부울 값 및 유닛 타입과 같은 스칼라 타입을 포함하여 Rust 에서 제공하는 다양한 기본 요소에 대해 배우게 됩니다. 또한 배열 및 튜플과 같은 복합 타입을 탐구하고, 변수에 해당 타입을 주석 처리하거나 Rust 가 컨텍스트에서 타입을 추론하도록 하는 방법을 배우게 됩니다.
참고: 랩에서 파일 이름을 지정하지 않은 경우 원하는 파일 이름을 사용할 수 있습니다. 예를 들어,
main.rs를 사용하고rustc main.rs && ./main으로 컴파일하고 실행할 수 있습니다.
기본 요소 (Primitives)
Rust 는 다양한 primitives에 대한 접근을 제공합니다. 샘플은 다음과 같습니다.
스칼라 타입 (Scalar Types)
- 부호 있는 정수:
i8,i16,i32,i64,i128및isize(포인터 크기) - 부호 없는 정수:
u8,u16,u32,u64,u128및usize(포인터 크기) - 부동 소수점:
f32,f64 char유니코드 스칼라 값, 예:'a','α'및'∞'(각 4 바이트)bool은true또는false- 유닛 타입
(), 유일한 가능한 값은 빈 튜플:()
유닛 타입의 값이 튜플임에도 불구하고, 여러 값을 포함하지 않기 때문에 복합 타입으로 간주되지 않습니다.
복합 타입 (Compound Types)
[1, 2, 3]과 같은 배열 (Arrays)(1, true)와 같은 튜플 (Tuples)
변수는 항상 *타입 주석 (type annotated)*을 사용할 수 있습니다. 숫자는 접미사 (suffix) 또는 *기본값 (by default)*을 통해 추가로 주석 처리될 수 있습니다. 정수는 기본적으로 i32이고 부동 소수점은 f64입니다. Rust 는 컨텍스트에서 타입을 추론할 수도 있습니다.
fn main() {
// Variables can be type annotated.
let logical: bool = true;
let a_float: f64 = 1.0; // Regular annotation
let an_integer = 5i32; // Suffix annotation
// Or a default will be used.
let default_float = 3.0; // `f64`
let default_integer = 7; // `i32`
// A type can also be inferred from context.
let mut inferred_type = 12; // Type i64 is inferred from another line.
inferred_type = 4294967296i64;
// A mutable variable's value can be changed.
let mut mutable = 12; // Mutable `i32`
mutable = 21;
// Error! The type of a variable can't be changed.
mutable = true;
// Variables can be overwritten with shadowing.
let mutable = true;
}
요약
축하합니다! 기본 요소 (Primitives) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.