loop
이번에는 러스트의 특별하고 강력한 문법인 loop
를 알아보겠습니다. 먼저 loop
중 무한 루프의 경우는 파이썬에서 아래와 같이 구현 가능합니다. 중간에 x
의 값이 5가 되면 break
를 통해서 루프를 탈출할 수 있습니다.
x = 0
while True:
x += 1
if x == 5:
break
print(x, end=",")
실행 결과
0,1,2,3,4,
loop
는 파이썬의 무한 루프와 동일한 역할을 합니다. 따라서 루프를 종료하는 break
에 해당하는 조건문이 있어야 루프를 종료하고 다음으로 진행할 수 있습니다.
fn main() { let mut x = 0; loop { x += 1; if x == 5 { break; } print!("{},", x); } }
실행 결과
0,1,2,3,4,
loop
는 조건이 만족되면 루프를 탈출하는데, 이때 특정 값을 리턴할 수 있습니다. break
뒤에 리턴할 값을 넣어주면 됩니다. x
가 5가 됐을 때 x
를 리턴하도록 코드를 고치면 다음과 같습니다.
fn main() { let mut x = 0; let y = loop { x += 1; if x == 5 { break x; } print!("{},", x); }; println!("{}", y); }
실행 결과
1,2,3,4,5
루프 안에서 1부터 4까지가 출력되고, 그 뒤에 y
의 값 5가 출력됩니다.