for
迴圈是條件迴圈,即迴圈執行特定次數。 Rust語言中for
迴圈的行為與其他語言略有不同。 執行for
迴圈直到條件為假。
for迴圈的語法 -
for var in expression
{
//block statements
}
在上面的語法中,表示式可以轉換為疊代器,疊代器遍歷資料結構的元素。 在每次疊代中,都從疊代器中獲取值。 當沒有剩餘值被提取時,迴圈結束。
下面來看一個簡單的例子。
fn main()
{
for i in 1..11
{
print!("{} ",i);
}
}
執行上面範例程式碼,得到以下結果 -
1 2 3 4 5 6 7 8 9 10
在上面的範例中,1..11
是一個表示式,疊代器將疊代這些值。 上限是不包含的,因此迴圈將列印1
到10
個值。
下面再來看一個簡單的例子。
fn main()
{
let mut result;
for i in 1..11
{
result=2*i;
println!("2*{}={}",i,result);
}
}
執行上面範例程式碼,得到以下結果 -
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
2*10=20
在上面的例子中,for
迴圈列印2
的表。
下面來看另一個簡單的例子。
fn main(){
let fruits=["mango","apple","banana","litchi","watermelon"];
for a in fruits.iter()
{
print!("{} ",a);
}
}
執行上面範例程式碼,得到以下結果 -
mango apple banana litchi watermelon
在上面的例子中,iter()
方法用於存取fruits
變數的每個元素。當它到達陣列的最後一個元素,那麼回圈就結束了。
while迴圈和for迴圈的區別:
如果陣列的索引長度在執行時增加,那麼while
迴圈顯示錯誤,但在for
迴圈的情況下不會發生這種情況。 因此,可以說for
迴圈增加了程式碼的安全性並消除了錯誤的可能性。