rust 語言是一種高效、可靠的通用高階語言。其高效不僅限於開發效率,它的執行效率也是令人稱讚的,是一種少有的兼顧開發效率和執行效率的語言。
rust 除了靈活的條件語句以外,迴圈結構的設計也十分成熟。這一點作為身經百戰的開發者應該能感覺出來。
while 迴圈
while 迴圈是最典型的條件語句迴圈:
例項
fn main() ", number); number += 1; } println!("exit");}
執行結果:
123exit
rust 語言到此教程編撰之日還沒有 do-while 的用法,但是 do 被規定為保留字,也許以後的版本中會用到。
在 c 語言中 for 迴圈使用三元語句控制迴圈,但是 rust 中沒有這種用法,需要用 while 迴圈來代替:
c 語言
int i;for (i = 0; i < 10; i++) rustlet mut i = 0;while i < 10
for 迴圈for 迴圈是最常用的迴圈結構,常用來遍歷乙個線性資料據結構(比如陣列)。for 迴圈遍歷陣列:
例項
fn main() ", i); }}
執行結果:
值為 : 10值為 : 20值為 : 30值為 : 40值為 : 50
這個程式中的 for 迴圈完成了對陣列 a 的遍歷。a.iter() 代表 a 的迭代器(iterator),在學習有關於物件的章節以前不做贅述。
當然,for 迴圈其實是可以通過下標來訪問陣列的:
例項
fn main() ] = {}", i, a[i]); }}
執行結果:
a[0] = 10a[1] = 20a[2] = 30a[3] = 40a[4] = 50
loop 迴圈身經百戰的開發者一定遇到過幾次這樣的情況:某個迴圈無法在開頭和結尾判斷是否繼續進行迴圈,必須在迴圈體中間某處控制迴圈的進行。如果遇到這種情況,我們經常會在乙個 while (true) 迴圈體裡實現中途退出迴圈的操作。
rust 語言有原生的無限迴圈結構 —— loop:
例項
fn main() println!("'{}'", ch); i += 1; }}
執行結果:
'r' 'u' 'n'
loop 迴圈可以通過 break 關鍵字類似於 return 一樣使整個迴圈退出並給予外部乙個返回值。這是乙個十分巧妙的設計,因為 loop 這樣的迴圈常被用來當作查詢工具使用,如果找到了某個東西當然要將這個結果交出去:
例項
fn main() i += 1; }; println!(" 'o' 的索引為 {}", location);}
執行結果:
'o' 的索引為 3
學習rust 迴圈 | 《linux就該這麼學》 (linuxprobe.com)
退出當前迴圈和退出迴圈
場景 當通過excel一次性匯入多條資料 向資料庫一次性插入多條資料 就要讀取 解析excel,並迴圈插入每條資料,當每插入一條資料前都要判斷此條資料是否已經存在,如果存在用continue退出當前迴圈,進入下一次迴圈。例如 break 跳出迴圈 for int i 0 i 10 i if i 2 ...
break退出迴圈
用 for 迴圈或者 while 迴圈時,如果要在迴圈體內直接退出迴圈,可以使用 break 語句。比如計算1至100的整數和,我們用while來實現 sum 0 x 1 while true sum sum x x x 1 if x 100 break print sum咋一看,while tru...
退出多層迴圈
方法一 正常情況下不報錯,三層迴圈,會執行5的三次方 raise 丟擲異常物件 固定用法 try中丟擲乙個異常,try裡所有的 都不會被執行。class getoutofloop exception pass try for i in range 5 for j in range 5 for k i...