-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
// 부호 있는 정수
// iN - Integer
// i8 - 8비트 정수 = char
// i16 - 16비트 정수 = short
// i32 - ... = int
// i64 - ... = long
// 부호 없는 정수
// uN - Unsigned Integer
// u8
// u16
// u32
// u64
// 가변 크기 정수
// isize - 부호 + 64비트(x86_64 기준)
// usize - + 64비트(x86_64 기준)
// 부동 소수점
// fN
// f32
// f64
// 기타
// str - 문자열. &str 형태로만 사용할 수 있음.
// char - 유니코드 지원되는 문자. 크기: 4바이트
// bool - true/false
fn main() {
let a = 1;
let v_i8: i8 = 1;
let v_i16: i16 = 2;
let mut v_i32: i32 = 3;
let v_i64: i64 = 4;
let v_u8: u8 = 5;
let v_u16: u16 = 6;
let v_u32: u32 = 7;
let v_u64: u64 = 8;
let f_f32 = 1.0;
let mut f_f64 = 2.0;
let mut f_f64_2 = 17.0;
// 문자열은 내용에 따라 길어지는 타입이라
// 사이즈를 알 수가 없어 다른 곳에 작성하고
// 그 곳의 레퍼런스를 따옴
let s_str: &str = "abcdef";
let mut v_bool = true;
// &T = 읽기 전용 레퍼런스
// &mut T = 쓰기 가능 레퍼런스
let read_only1 = &f_f32;
let read_only2 = &f_f32;
let read_only3 = &f_f32;
let mutable = &mut f_f64;
// mutable의 "내용"은 다른 값의 주소값.
// mutable 자체는 상수임
// 아래 코드는 실행할 수 없음
// mutable = &mut f_f64_2;
// let mut mutable = ... 로 정의하면 위 코드 실행 가능.
// 함수 호출
// <name>(params....);
// size_of_val(....);
// if문
if v_bool {
println!("First");
} else if false {
println!("Second");
} else {
println!("Third");
}
// 반복문 1: 무한 반복
// loop { .. }
loop {
println!("Loop");
// break 필수
break;
}
// 반복문 2: 조건 반복
// while <조건> { .. }
while v_bool {
println!("While");
v_bool = false;
}
// 반복문 3: 순회 반복
// for <변수 이름> in <순회 가능한 값> { .. }
let range = 5..=17;
for i in range.rev() {
println!("{i}")
}
}Metadata
Metadata
Assignees
Labels
No labels