golang语言学第四课:循环
生活随笔
收集整理的這篇文章主要介紹了
golang语言学第四课:循环
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
go語言循環(huán)只有for語句,沒有whilie, do while這些語句。
for 的第一種用法,也是所有語言中最常見的一種,跟C語言一樣, 只是for后面省略了( ) 圓括號。
英文官方的表達跟準確:
for init; condition; post { }/* init: 一般為賦值表達式,給控制變量賦初值; condition: 關(guān)系表達式或邏輯表達式,循環(huán)控制條件; post: 一般為賦值表達式,給控制變量增量或減量。 */for 的第二種用法,其實就是while,只是go設(shè)計的理念是要簡單簡潔,不想多增加一個關(guān)鍵詞而已。
for condition { }//condition: 關(guān)系表達式或邏輯表達式,循環(huán)控制條件;for 的第二種用法,就是whiile, 其執(zhí)行流程如下:
?
for的第三種用法,死循環(huán)法:
for { }我在for循環(huán)這里我犯了了一個嚴重的錯誤,代碼先放上來:
package mainimport "fmt"func main() {for i := 0; i >=100; i++ {fmt.Println(i)} }我期盼這些代碼會顯示0到100,結(jié)果悲劇了,啥都沒顯示,程序就結(jié)束了。啥原因呢?我深入分析一下:
for 初始條件; 終止條件或者說結(jié)束條件; 自增/自減 {循環(huán)體內(nèi)代碼 }這個for循環(huán)是如何執(zhí)行的: 第一步:做初始條件的賦值 第二步:判斷終止條件是否達到,如果沒達到終止條件則執(zhí)行循環(huán)體內(nèi)的代碼,然后再執(zhí)行第三步。 第三步:執(zhí)行自增或自減。
其實:上面的想法是錯誤的,真正正確的for語句執(zhí)行流程應(yīng)該是下面這樣的:
for a; b; c {d } 執(zhí)行順序:先執(zhí)行a在判斷b是否為真,若為真執(zhí)行循環(huán)體d,執(zhí)行c然后再次判斷b是否為真,若為真執(zhí)行循環(huán)體d執(zhí)行c
.....
直到b為假,跳出循環(huán)。
切記:表達式b不是終止條件,而是循環(huán)控制條件。
只有表達式b是真時,才執(zhí)行需要循環(huán)體語句d,
如果表達式b為假,則直接終止循環(huán)。不會執(zhí)行循環(huán)體語句d,也不會執(zhí)行表達式c做自增或自減運算。
?搞懂了這個之后,我修改一下代碼,就如期盼的一樣,正確顯示0--100的數(shù)字了。代碼如下:
package mainimport "fmt"func main() {for i := 0; i <=100; i++ {fmt.Println(i)/*for i ==40 {fmt.Println("已經(jīng)到了40了!")break}*/} }?
?轉(zhuǎn)載于:https://www.cnblogs.com/golangxiong/p/10192568.html
總結(jié)
以上是生活随笔為你收集整理的golang语言学第四课:循环的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果头显支持空中打字功能 最终售价可能高
- 下一篇: 迅雷快传怎么分享文件 迅雷快传共享文件图