Golang中for循環(huán)的用法示例詳解
Golang中for循環(huán)的用法
for循環(huán)
就是讓一段代碼循環(huán)的執(zhí)行。
基本語(yǔ)法
for循環(huán)變量初始化;循環(huán)條件;循環(huán)變量迭代{ 循環(huán)操作(語(yǔ)句) }
package main import "fmt" func main(){ for i := 1; i <= 10; i++ { fmt.Println("666",i) } }
for循環(huán)的四個(gè)要素:
- 1.循環(huán)變量初始化
- 2.循環(huán)條件
- 3.循環(huán)操作(語(yǔ)句),循環(huán)體
- 4.循環(huán)變量迭代
注意事項(xiàng)和使用細(xì)節(jié)
1.循環(huán)條件是返回一個(gè)布爾值的表達(dá)式
2.for循環(huán)的第二種使用方式
? for循環(huán)判斷條件{ ? //循環(huán)執(zhí)行語(yǔ)句 }
將變量初始化和變量迭代寫到其他位置
j := 1 for { fmt.Println("777",j) j++ }
3.for循環(huán)的第三種使用方式
for{ ? //循環(huán)執(zhí)行語(yǔ)句 }
上面的寫法等價(jià)for;;{}是一個(gè)無(wú)限循環(huán),通常要配合break語(yǔ)句使用
k := 1 for { if k <= 10{ fmt.Println("888") } else { break } K++ }
4.Golang提供for-range的方式,可以方便遍歷字符串和數(shù)組,for-range在遍歷字符串時(shí),是按照字符來遍歷的,而不是按照字節(jié)來的。
package main import "fmt" func main(){ //字符串遍歷方式,傳統(tǒng)方式 var str string = "hello,world!" for i := 0; i < len(str); i++ { fmt.Printf("%c \n", str[i]) } //字符創(chuàng)遍歷方式2--for-range方式 str = "jfal;fjlasjdf" for index, val := range str { fmt.Printf("index=%d, var=%c \n", index,val ) } }
注:如果字符串含有中文,那么傳統(tǒng)的遍歷字符串方式,就是錯(cuò)的,會(huì)出現(xiàn)亂碼。原因是傳統(tǒng)的對(duì)字符串的遍歷是按照字節(jié)來遍歷,而一個(gè)漢字在utf-8的編碼是對(duì)應(yīng)3個(gè)字節(jié)。只需要將str轉(zhuǎn)成[]rune切片就行。
到此這篇關(guān)于Golang中for循環(huán)的用法的文章就介紹到這了,更多相關(guān)Golang for循環(huán)用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go開發(fā)中有哪幾種無(wú)法恢復(fù)的致命場(chǎng)景分析
這篇文章主要為大家介紹了Go有哪幾種無(wú)法恢復(fù)的致命場(chǎng)景示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08Go語(yǔ)言使用Etcd實(shí)現(xiàn)分布式鎖
etcd是近幾年比較火熱的一個(gè)開源的、分布式的鍵值對(duì)數(shù)據(jù)存儲(chǔ)系統(tǒng),本文將介紹如何利用Etcd實(shí)現(xiàn)分布式鎖,感興趣的小伙伴可以跟隨小編一起了解一下2023-05-05Golang HTTP 服務(wù)平滑重啟及升級(jí)的思路
Golang HTTP服務(wù)在上線時(shí),需要重新編譯可執(zhí)行文件,關(guān)閉正在運(yùn)行的進(jìn)程,然后再啟動(dòng)新的運(yùn)行進(jìn)程。這篇文章主要介紹了Golang HTTP 服務(wù)平滑重啟及升級(jí),需要的朋友可以參考下2020-04-04Go語(yǔ)言中一定要知道的切片使用注意事項(xiàng)總結(jié)
了解和掌握切片的使用注意事項(xiàng),可以避免意外的程序行為,所以本文就來和大家深入探討一下Go語(yǔ)言切片常見的注意事項(xiàng),希望對(duì)大家有所幫助2023-06-06