上一期我們學習并練習了Rust的復(fù)合基本數(shù)據(jù)類型,在練習中我們定義了一個數(shù)組用于存儲月份的中文名稱,現(xiàn)在有一個需求,需要把月份的中文名按順序打印到控制臺,也就是把months數(shù)組里的所有元素按順序輸出到控制臺:

當然我們可以使用12條println語句一條一條獲取并打印months中的元素,現(xiàn)在是一個只有12條元素的數(shù)組,如果是一個有100條1000條元素的數(shù)組,還這么寫就不現(xiàn)實了吧?
那有沒有一種更簡單的方式呢?
我們可以先生成一個從0到month數(shù)組長度的區(qū)間,然后從這個區(qū)間里一條一條里取出元素并做為months數(shù)組的索引取出月份中文名并輸出到控制臺。
在Rust中怎么實現(xiàn)呢?生成一個從0到month數(shù)組的區(qū)間我們可以使用0..months.len()實現(xiàn),從這個區(qū)間中一條一條取元素我們可以使用for
I in 0..months.len 實現(xiàn),我們可以先把i的值打印到控制臺感受下:

接下來我們只需要把i做為索引一個一個取出月份的中文名就可以了吧?
修改好后保存退出,使用cargo run再運行一下:

可以看到在命令控制臺已經(jīng)按需求輸出了月份的中文名。
這里為了遍歷months數(shù)組我們使用了一個區(qū)間,for循環(huán)不但可以遍歷區(qū)間還可以遍歷迭代器,我們可以調(diào)用months的iter()方法獲取迭代器,這時i就是一個一個的月份中文名了。修改好后保存退出,我們運行看下效果:
在rust中類似for循環(huán)的語句還有l(wèi)oop和while,loop會持續(xù)執(zhí)行直到遇到遇到break;while每次判斷條件表達式的值是否為真,如果為真就執(zhí)行代碼塊,如果為假就停止執(zhí)行。
大家可以自己試一下如果遇到問題歡迎通過平臺給我們留言。