for
while
loop
fn main() {
//define a for loop
for i in 0..5 {
println!("{}", i);
}
}
-----------------------
*console
0
1
2
3
4
note
- lower bound는 포함되고 upper bound는 제외됨
.enumerate()
function : 루프가 몇번 실행됐는지 확인 가능 fn main() {
for(count, variable) in (7..10).enumerate() {
println!("count = {}, variable = {}", count, variable);
}
}
while
에서 반복 횟수를 미리 알 수 없음 fn main() {
let mut var = 1 ;
let mut found = false;
while !found {
var = var + 1;
println!("{}", var);
if var % 2 == 1 {
found = true;
}
println!("Loop runs");
}
}
loop
keyword 사용fn main() {
let mut var = 1;
loop {
var +=1;
prinln!("{}", var);
}
}
break
는 반복을 종료함 true
일 때 실행for i in 0..10 {
println!("{}", i);
if i == 2 {
break
}
}
while
, for,
, loop
에서 사용가능fn main() {
for i in 0..10 {
prinln("i : {}", i);
if i == 5 {
break;
}
}
}
fn main() {
let mut i = 1;
let found = false;
while !found {
println!("i : {}", i);
if i == 5 {
break;
}
i = i + 1;
}
}
fn main() {
let mut i = 1;
loop {
println!("i : {}", i);
if i == 5 {
break;
}
i = i + 1;
}
}
note
- 무한 루프에서 관리 가능한 반복문으로 바뀐다.
the infinite loop is turned into a "managrable" loop.
fn main() {
for var in 0..5 {
if var == 2 {
println!("Continue statement");
continue;
}
println!("var : {}", var);
}
}
fn main() {
for var in 0..10 {
if var == 4 {
println!("encounter a continue statement"};
continue;
}
println!("var : {}", var);
println!("did not encounter continue statement")
}
fn main() {
let mut var = 1;
let mut found = true;
while found {
var = var + 1;
println!("{}", var);
if var == 4 {
println!("I encoutered a continue statement");
continue;
}
println!("I did not encounter continue statement");
if var == 10{
found = false;
}
}
}
fn main() {
// define an integer variable
let mut var = 1;
// define a loop
loop {
var = var + 1;
println!("{}", var);
if var == 4 {
println!("I encoutered continue statement");
continue;
}
println!("I did not encounter continue statement");
}
}
note
- 위 코드는 무한히 작동
for
문 fn main() {
for i in 1..5 {
println!("multiplication table of : {}, i");
for j 1..5 {
println!("{} * {} = {}", i, j, i*j);
}
}
}
fn main() {
'outer:for i in 1..5 {
println!("Muliplication Table : {}", i);
'inner:for j in 1..5 {
if i == 3 { continue 'outer; }
if j == 2 { continue 'inner; }
println!("{} * {} = {}", i, j, i * j);
}
}
}
----------------------------------------------
* 2,4번 코드 맨 앞에 '는 왜 붙히는거지?