rust, programming concepts

lsh235·2023년 6월 8일
0

rust

목록 보기
4/7

상수에서 mut 불가

왜냐? 상수는 불변이어야하는데 mut을 쓰는순간 가변이 되기 때문에.
따라서 let 대신 const
ex) const MAX_POINTS: u32 = 100_000;
프로그램 전체에 걸쳐 하드코드 해야 하는 값을 이름지어 상수로 사용

Rust는 정수형, 부동소수점 숫자, boolean, 그리고 문자, 네 가지 스칼라 타입을 보유하고 있습니다.

Rust에서의 정수 타입

Length Signed Unsigned
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
arch isize usize

Rust의 정수형 리터럴들

Number literals Example
Decimal 98_222
Hex 0xff
Octal 0o77
Binary 0b1111_0000
Byte (u8 only) b'A'

Boolean 타입

let t = true;
let f: bool = false;

문자 타입

let c = 'z';
let z = 'ℤ';
let heart_eyed_cat = '😻';

복합타입 - 튜플

let tup: (i32, f64, u8) = (500, 6.4, 1);
let tup = (500, 6.4, 1);
let (x, y, z) = tup;
let five_hundred = x.0;
let six_point_four = x.1;
let one = x.2;

배열

let a = [1, 2, 3, 4, 5];
let first = a[0];
let second = a[1];

함수 매개변수

fn another_function(x: i32) {
println!("The value of x is: {}", x);
}

표현식

fn main() {
let x = 5;
let y = {
let x = 3;
x + 1
};
println!("The value of y is: {}", y);
}

let y = {
let x = 3;
x + 1 //; 콜론이 없으므로 y는 x + 1의 값이 됨.
};

반환 값을 갖는 함수

fn five() -> i32 { // return 명시
5 // 표현식과 동일
}

fn main() {
let x = five();
println!("The value of x is: {}", x);
}

제어문

if number < 5 {
println!("condition was true");
} else {
println!("condition was false");
}
반드시 bool이어야함

let number = if condition {
5
} else {
6
};
타입은 하나로 통일 if에서 int else에서 string 불가

반복문

loop {
// 루프 내용
if condition {
break; // 루프 종료
}
}

while condition {
// 루프 내용
}
loop는 내부에서 break문을 사용하여 명시적으로 종료되어야 하며, while은 루프 진입 전에 조건을 평가한다.

let a = [10, 20, 30, 40, 50];
for element in a.iter() {
println!("the value is: {}", element);
}
for은 컬렉션 또는 이터레이터의 모든 요소를 반복해야 하는 경우 사용한다.

for number in (1..4).rev() {
println!("{}!", number);
}
println!("LIFTOFF!!!");
역순으로도 가능

0개의 댓글