為什么很多新型https://www.52fb.cn語言都拋棄了C語言風(fēng)格的for語句?
并不是拋棄,而是增強(qiáng)。
很多語言在for基礎(chǔ)上增加了對(duì)可遍歷數(shù)據(jù)結(jié)構(gòu)(如Java里數(shù)組、集合,C++的容器)更簡(jiǎn)易的循環(huán)遍歷語法,亦即for-each循環(huán),從而減少了中間變量,使程序更簡(jiǎn)潔和易讀。
例如在C++和Java中都采用了
for (type variable: collection){
}
這樣的格式。
缺點(diǎn)就是這種循環(huán)方式只能是按順序?qū)λ许?xiàng)目遍歷,不如傳統(tǒng)的for語法靈活。例如,無法只遍歷奇數(shù)項(xiàng)或者進(jìn)行逆序遍歷;在對(duì)數(shù)組循環(huán)時(shí),無法獲得當(dāng)前項(xiàng)目的索引等。