Go語(yǔ)言之fo循環(huán)與條件判斷
一、for循環(huán)
Go 語(yǔ)言中沒有 while
循環(huán),只有一個(gè) for
循環(huán)
for 變量初始化;條件;變量自增/自減 { 循環(huán)體內(nèi)容 }
1、基本使用
for i := 0; i < 10; i++ { fmt.Println(i) }
2、省略第一部分
i := 0 for ; i < 10; i++ { fmt.Println(i) }
3、省略第一和三部分(這是一個(gè) while 循環(huán)) for 條件 { 循環(huán)體內(nèi)容 }
i := 0 for i < 10 { fmt.Println(i) i++ }
4、死循環(huán)
for { fmt.Println("死循環(huán)") }
5、開多協(xié)程演示
for i := 0; i < 2000; i++ { go test() } func test() { for { fmt.Println("死循環(huán)") } }
6、break
結(jié)束本次 for 循環(huán),continue 結(jié)束本次循環(huán),繼續(xù)下一次循環(huán)
二、Switch語(yǔ)句
Switch
是一個(gè)條件語(yǔ)句,用于將表達(dá)式的值與可能匹配的選項(xiàng)列表進(jìn)行比較,并根據(jù)匹配情況執(zhí)行相應(yīng)的代碼塊,它可以被認(rèn)為是替代多個(gè) if else
語(yǔ)句的常用方式
1、基本使用
num := 4 switch num { case 1: fmt.Println("1") case 2: fmt.Println("2") case 3: fmt.Println("3") case 4: fmt.Println("4") } // 輸出 4
2、默認(rèn)情況(都沒有匹配上)
num := 5 switch num { case 1: fmt.Println("1") case 2: fmt.Println("2") case 3: fmt.Println("3") case 4: fmt.Println("4") default: fmt.Println("都沒有匹配上") } // 輸出 都沒有匹配上
3、多表達(dá)式判斷
num := 44 switch num { case 11, 12, 13, 14: fmt.Println("1") case 21, 22: fmt.Println("2") case 31, 33: fmt.Println("3") case 40, 43, 44: fmt.Println("4") default: fmt.Println("都沒有匹配上") } // 輸出 4
4、無表達(dá)式的 Switch
num := 44 switch { case num == 11, num == 12: fmt.Println(11, 12) case num == 40, num == 44: fmt.Println(40, 44) } // 輸出 40 44
5、Fallthrough
穿透,只要看到
fallthrough
,無條件執(zhí)行下一個(gè)case
或者default
num := 12 switch { case num == 11, num == 12: fmt.Println(11, 12) fallthrough case num == 40, num == 44: fmt.Println(40, 44) fallthrough default: fmt.Println("無匹配") } // 輸出 11 12 40 44 無匹配
到此這篇關(guān)于Go語(yǔ)言之fo循環(huán)與條件判斷的文章就介紹到這了,更多相關(guān)Go語(yǔ)言循環(huán)與條件判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)事務(wù)的提交與回滾
這篇文章主要介紹了golang實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)事務(wù)的提交與回滾,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04GO語(yǔ)言的控制語(yǔ)句詳解包括GO語(yǔ)言的指針語(yǔ)法
這篇文章主要介紹了GO語(yǔ)言的控制語(yǔ)句詳解包括GO語(yǔ)言的指針語(yǔ)法,GO語(yǔ)言switch結(jié)構(gòu),GO語(yǔ)言for的4種結(jié)構(gòu)需要的朋友可以參考下2022-12-12golang環(huán)形隊(duì)列實(shí)現(xiàn)代碼示例
這篇文章主要介紹了golang環(huán)形隊(duì)列實(shí)現(xiàn)代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Go語(yǔ)言并發(fā)編程之互斥鎖Mutex和讀寫鎖RWMutex
Go 語(yǔ)言中提供了很多同步工具,本文將介紹互斥鎖Mutex和讀寫鎖RWMutex的使用方法,想要具體了解的小伙伴,請(qǐng)參考下面文章詳細(xì)內(nèi)容,希望對(duì)你有所幫助2021-10-10Golang 操作 Kafka 如何設(shè)置消息的失效時(shí)間
在使用 Golang 操作 Kafka 時(shí),你可以使用 Sarama 庫(kù)來設(shè)置消息的失效時(shí)間,這篇文章主要介紹了Golang操作Kafka設(shè)置消息的失效時(shí)間,需要的朋友可以參考下2023-06-06深入探討Go語(yǔ)言中的map是否是并發(fā)安全以及解決方法
這篇文章主要來和大家探討?Go?語(yǔ)言中的?map?是否是并發(fā)安全的,并提供三種方案來解決并發(fā)問題,文中的示例代碼講解詳細(xì),需要的可以參考一下2023-05-05