반응형
if statement
제어문, if-else 류는 문들은 보통 모든 언어들에 있는 구문이고,
여기서는 rust가 다른 언어들과 조금 다른 점들만 기술한다.
if [conditions] ... condition은 boolean식만 들어갈 수 있다.
"? : " 와 같은 삼항 연산자 역시 제대로 동작한다,
특이한 점은 condition에 괄호() 가 필요 없다는점.
if condition {
...
}
else {
...
}
Conditional loop(while)
while같은 conditional loop도 동일하다, 조건이 만족하면 loop가 실행되고,
아니면 빠져나가는것,
let mut i = 1;
while i <=10 {
print!("{}, ",i);
i +=1;
}
Infinite loops(loop) - 무한루프
loop-> while true 로 치환된다 일종의 syntax sugar
fn main() {
let mut hp=1;
loop {
hp += 1;
if hp == 32 {
// back to top
continue;
}
print!("{} ", hp);
if hp == 40 {
print!("OK, exit ");
break; // exit loop
}
}
}
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// 26 27 28 29 30 31 33 34 35 36 37 38 39 40 OK, exit
위와 같은 구문을 보면, 숫자가 증가하다가 32에서 skip하였고, 40에서 loop를 벗어난 것을 확인할 수 있다.
For statement - Counting loop
아래 구문은 1에서 9까지, python의 range함수와 비슷한 형태이다.
for i in 1..10{
print!("{} ", i);
}
그리고 특이한 점이 하나 있는데, for문에 인가되는 변수들(start, end, step)의 값들은,
for문 진입하기 전의 값을 가지고, loop안에서는 start, end, step의 값은 영향을 받지 않는다. .
반응형
'Rust' 카테고리의 다른 글
[Rust] 벡터 (Vector) (0) | 2022.10.03 |
---|---|
[Rust] 타입 추론 (Type Inference) (0) | 2022.09.16 |
Rust, 튜플 (0) | 2020.01.20 |
Rust , VSCode 환경 설정 (0) | 2019.12.30 |
Rust, Global constant (전역 상수) (0) | 2019.12.19 |