Go語(yǔ)言基礎(chǔ)if條件語(yǔ)句用法及示例詳解
概述
條件語(yǔ)句需要開(kāi)發(fā)者通過(guò)指定一個(gè)或多個(gè)條件
并通過(guò)測(cè)試條件是否為 true 來(lái)決定是否執(zhí)行指定語(yǔ)句
并在條件為 false 的情況再執(zhí)行另外的語(yǔ)句。
語(yǔ)法
package main func main() { //第一種格式 if 條件表達(dá)式 { 語(yǔ)句1 } //第二種格式 if 初始化表達(dá)式; 條件表達(dá)式 { 語(yǔ)句1 } //第三種格式 if 初始化表達(dá)式; 條件表達(dá)式 { 語(yǔ)句1 }else{ 語(yǔ)句2 } //第四種格式 if 初始化表達(dá)式; 條件表達(dá)式 { 語(yǔ)句1 }else if 初始化表達(dá)式; 條件表達(dá)式 { 語(yǔ)句2 }else{ 語(yǔ)句3 } }
格式規(guī)則
1)Go語(yǔ)言中條件語(yǔ)句不需要圓括號(hào),但是分支中必須有大括號(hào)。
2)Go語(yǔ)言條件語(yǔ)句中可以用 := 初始化一個(gè)變量,不過(guò)需要記住,這個(gè)變量是局部變量,該變量的作用域僅在if范圍之內(nèi)。
3)Go語(yǔ)言里面對(duì) if/else 格式對(duì)齊要求很?chē)?yán)格,如果需要 if/else 組合,則需要在if語(yǔ)句結(jié)束的大括號(hào)后面就跟上else,這里寫(xiě)上代碼
4)關(guān)鍵字 if 和 else 之后的左大括號(hào) { 必須和關(guān)鍵字在同一行,如果你使用了 else-if 結(jié)構(gòu),則前段代碼塊的右大括號(hào) } 必須和 else-if 關(guān)鍵字在同一行。這兩條規(guī)則都是被編譯器強(qiáng)制規(guī)定的。
示例代碼
package main import ( "fmt" "io/ioutil" //一定要導(dǎo)入包 ) func main() { age := 10 //1. 第一種表達(dá)式 if if age > 10 { //其他的語(yǔ)言有括號(hào),這里沒(méi)有括號(hào),如果你加上了括號(hào),go fmt還是會(huì)刪除你的括號(hào) fmt.Println("age大于10") } //2. 第二種表達(dá)式 if else if age > 20 { fmt.Println("age大于20") } else { fmt.Println("age小于20") } //3. 第三種表達(dá)式 if-else if if age == 20 { fmt.Println("age等于20") } else if age > 20 { fmt.Println("age大于20") } else { fmt.Println("age小于20") } //4. 第四種格式 初始化表達(dá)式; 條件表達(dá)式 if i := 20; i == 10 { fmt.Println("i等于10") } else { fmt.Println("i不等于10") } //讀取文件 ioutil是個(gè)go自帶的包,ReadFile首字母大小表示是公有的方法,nil表示是否為空,不為空是表示表示打開(kāi)文件失敗 // 一定要導(dǎo)入 io/ioutil // 必須在當(dāng)前目錄下創(chuàng)建abc.txt文件 if response, err := ioutil.ReadFile("abc.txt"); err != nil { fmt.Println(err) } else { fmt.Println(string(response)) } }
以上就是Go語(yǔ)言基礎(chǔ)if條件語(yǔ)句用法及示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Go語(yǔ)言if條件語(yǔ)句的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
超實(shí)用的Golang通道指南之輕松實(shí)現(xiàn)并發(fā)編程
Golang?中的通道是一種高效、安全、靈活的并發(fā)機(jī)制,用于在并發(fā)環(huán)境下實(shí)現(xiàn)數(shù)據(jù)的同步和傳遞。本文主要介紹了如何利用通道輕松實(shí)現(xiàn)并發(fā)編程,需要的可以參考一下2023-04-04go語(yǔ)言中os包的用法實(shí)戰(zhàn)大全
Go在os中提供了文件的基本操作,包括通常意義的打開(kāi)、創(chuàng)建、讀寫(xiě)等操作,除此以外為了追求便捷以及性能上,Go還在io/ioutil以及bufio提供一些其他函數(shù)供開(kāi)發(fā)者使用,這篇文章主要給大家介紹了關(guān)于go語(yǔ)言中os包用法的相關(guān)資料,需要的朋友可以參考下2024-02-02GO語(yǔ)言判斷一個(gè)網(wǎng)段是否屬于另一個(gè)網(wǎng)段的子網(wǎng)
這篇文章主要介紹了GO語(yǔ)言判斷一個(gè)網(wǎng)段是否屬于另一個(gè)網(wǎng)段的子網(wǎng)的相關(guān)資料,內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的朋友可任意參考一下2022-03-03探究gRPC?客戶端調(diào)用服務(wù)端需要連接池嗎?
這篇文章主要為大家介紹了gRPC?客戶端調(diào)用服務(wù)端需要連接池嗎的問(wèn)題探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08Go語(yǔ)言題解LeetCode455分發(fā)餅干示例詳解
這篇文章主要為大家介紹了Go語(yǔ)言題解LeetCode455分發(fā)餅干示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12golang如何部署到服務(wù)器及應(yīng)注意問(wèn)題解析
這篇文章主要為大家介紹了golang如何部署到服務(wù)器及應(yīng)注意問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01