Rust기초알기(3) - 기본 문법
3.1 변수와 데이터 타입
3.2 제어문 (조건문, 반복문)
3.3 함수 정의와 호출
3.4 모듈과 패키지
3.5 주석
[목차] Rust Programming - Rust 기초 알기 목차.Zip
#Rust프로그래밍 #Rust언어기초 #Rust기초문법 #Rust기초알기
Rust기초 알기 - 3.1 변수와 데이터 타입
Rust의 변수 선언
Rust는 정적 타입을 가진 시스템 프로그래밍 언어로 변수를 선언하고 데이터를 저장하기 위해서는 변수의 타입을 명시해야 합니다. 변수와 데이터 타입을 엄격하게 다루며 컴파일러가 변수에 대한 메모리 할당과 관련된 안전성 검사를 수행할 수 있는 특징을 가지고 있습니다.
Rust에서 변수를 선언할 때는 let 키워드를 사용합니다.
let variable_name: data_type = value;
let x = 5;
x = 7; // Error
- variable_name은 변수의 이름
- data_type은 변수의 데이터 타입
- value는 변수에 저장할 값
- let은 변수 선언 키워드 이며 `x =5;` 변수 x에 5를 할당
* x = 7;과 같이 값을 변경하려고 하면, Rust 컴파일러는 컴파일 오류가 발생합니다.
error[E0384]: cannot assign twice to immutable variable `x`
--> main.rs:3:5
|
2 | let x = 5;
| - first assignment to `x`
3 | x = 7;
| ^^^^^ cannot assign twice to immutable variable
* let mut x = 5;와 같이 선언하여 변경 가능한(Mutable) 변수로 선언해야 함
Rust 변수의 특징
Rust의 변수는 기본적으로 한번 할당하면 변경 할수 없는 불변(immutable)입니다. 하지만 mut 키워드를 사용하여 가변(mutable) 변수를 선언할 수 있습니다.
let mut x = 5;
x = 11;
- let mut 으로 가변 변수 x를 선언하면 이후에 값을 수정 할 수 있게 됩니다.
Rust의 주요 데이터 타입
1. 정수형 타입(Integer Types):
Rust에서는 다양한 크기의 정수형을 제공합니다.
- i8, i16, i32, i64, i128 (부호 있는 정수 타입)
- u8, u16, u32, u64, u128 (부호 없는 정수 타입)
2. 부동 소수점 타입(Floating-Point Types):
- f32: 32비트 부동 소수점
- f64: 64비트 부동 소수점 (기본적으로 사용되는 타입)
3. 불리언 타입(Boolean Type):
- Rust에서는 불리언(Boolean) 타입으로 bool을 제공합니다.
- bool은 true와 false 두 가지 값 중 하나를 가질 수 있는 타입입니다.
4. 문자 타입(Character Type):
- char 타입은 유니코드(Unicode) 스칼라 값으로 하나의 문자를 나타냅니다.
- 문자는 작은 따옴표('')로 감싸져야 합니다.
5. 사용자 정의 데이터 타입
- 열거형 (enum) : 허용되는 값의 목록을 관리함
- 구조체 (struct) : 여러 데이터 필드들의 그룹을 나타냄
변수 선언 예시
* 정수형 타입(Integer Types):
fn main() {
let my_integer: i32 = 42;
let unsigned_integer: u64 = 123;
let another_integer = -17i8;
println!("my_integer: {}", my_integer);
println!("unsigned_integer: {}", unsigned_integer);
println!("another_integer: {}", another_integer);
}
* 부동 소수점 타입(Floating-Point Types):
fn main() {
let my_float: f64 = 3.14;
let another_float = 2.71828f32;
println!("my_float: {}", my_float);
println!("another_float: {}", another_float);
}
* 불리언 타입(Boolean Type):
fn main() {
let is_rust_fun: bool = true;
let is_open_source = false;
println!("is_rust_fun: {}", is_rust_fun);
println!("is_open_source: {}", is_open_source);
}
* 문자 타입(Character Type):
char 타입은 유니코드(Unicode) 스칼라 값으로 하나의 문자를 나타냅니다. 문자는 작은 따옴표('')로 감싸져야 합니다.
fn main() {
let letter_a: char = 'a';
let smiley_face = '😊';
println!("letter_a: {}", letter_a);
println!("smiley_face: {}", smiley_face);
}
* letter_a와 smiley_face 변수는 char 타입으로 선언되었고, 각각 'a'와 '😊' 값을 가지고 있습니다. 작은 따옴표로 문자를 감싸주어야 합니다.
* 열거형(enum)을 이용한 예시
enum Color {
Red, Green, Blue,
}
fn main() {
let my_color: Color = Color::Red;
match my_color {
Color::Red => println!("The color is red."),
Color::Green => println!("The color is green."),
Color::Blue => println!("The color is blue."),
}
}
* 구조체(Struct) 예시
struct User {
userid: u32,
username: String,
}
fn main() {
let user1 = User {
userid: 1,
username: String::from("john_doe"),
};
println!("User ID: {}", user1.userid);
println!("Username: {}", user1.username);
}
* User라는 구조체를 정의하고, userid는 부호 없는 32비트 정수(u32) 타입이고, username은 String 타입으로 선언
'Programming' 카테고리의 다른 글
Rust기초 알기 - 3.4 모듈과 패키지 (36) | 2023.06.19 |
---|---|
Rust기초 알기 - 3.3 함수 정의와 호출 (7) | 2023.06.18 |
Rust기초 알기 - 3.2 제어문 (조건문, 반복문) (21) | 2023.06.14 |
[python] Selenium - 웹페이지 Alert창 종류와 관리 (9) | 2023.05.30 |
Rust기초 알기 - 2.3 Rust 개발 IDE에디터 소개 (7) | 2023.05.28 |
[python] Selenium - implicitly wait 과 explicitly wait 이해 (20) | 2023.05.25 |
Rust 기초 알기 - 2.2 Rust 개발 도구 소개 (16) | 2023.05.24 |