Go語言基礎(chǔ)if條件語句用法及示例詳解

概述
條件語句需要開發(fā)者通過指定一個(gè)或多個(gè)條件
并通過測試條件是否為 true 來決定是否執(zhí)行指定語句
并在條件為 false 的情況再執(zhí)行另外的語句。
語法
package main
func main() {
//第一種格式
if 條件表達(dá)式 {
語句1
}
//第二種格式
if 初始化表達(dá)式; 條件表達(dá)式 {
語句1
}
//第三種格式
if 初始化表達(dá)式; 條件表達(dá)式 {
語句1
}else{
語句2
}
//第四種格式
if 初始化表達(dá)式; 條件表達(dá)式 {
語句1
}else if 初始化表達(dá)式; 條件表達(dá)式 {
語句2
}else{
語句3
}
}
格式規(guī)則
1)Go語言中條件語句不需要圓括號,但是分支中必須有大括號。
2)Go語言條件語句中可以用 := 初始化一個(gè)變量,不過需要記住,這個(gè)變量是局部變量,該變量的作用域僅在if范圍之內(nèi)。
3)Go語言里面對 if/else 格式對齊要求很嚴(yán)格,如果需要 if/else 組合,則需要在if語句結(jié)束的大括號后面就跟上else,這里寫上代碼
4)關(guān)鍵字 if 和 else 之后的左大括號 { 必須和關(guān)鍵字在同一行,如果你使用了 else-if 結(jié)構(gòu),則前段代碼塊的右大括號 } 必須和 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 { //其他的語言有括號,這里沒有括號,如果你加上了括號,go fmt還是會刪除你的括號
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表示是否為空,不為空是表示表示打開文件失敗
// 一定要導(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語言基礎(chǔ)if條件語句用法及示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Go語言if條件語句的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go實(shí)現(xiàn)替換(覆蓋)文件某一行內(nèi)容的示例代碼
本文主要介紹了Go實(shí)現(xiàn)替換(覆蓋)文件某一行內(nèi)容的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Go語言web快速開發(fā)框架Gin的HttpRouter路由的使用
in框架內(nèi)部使用了高性能的路由器庫httprouter,支持動態(tài)參數(shù)匹配和簡潔的接口,本文主要介紹了Go語言web快速開發(fā)框架Gin的HttpRouter路由的使用,感興趣的可以了解一下2025-03-03
Go信號處理如何優(yōu)雅地關(guān)閉你的應(yīng)用
Go?中的優(yōu)雅關(guān)閉機(jī)制使得在應(yīng)用程序接收到終止信號時(shí),能夠進(jìn)行平滑的資源清理,通過使用?context?來管理?goroutine?的生命周期,結(jié)合?signal?包捕獲系統(tǒng)信號,你可以在?Go?應(yīng)用中實(shí)現(xiàn)一個(gè)健壯且優(yōu)雅的關(guān)閉過程,對Go關(guān)閉應(yīng)用相關(guān)操作感興趣的朋友一起看看吧2025-01-01
golang容易導(dǎo)致內(nèi)存泄漏的6種情況匯總
內(nèi)存泄漏是我們在生產(chǎn)環(huán)境中必須面臨的問題,下面這篇文章主要給大家介紹了關(guān)于golang容易導(dǎo)致內(nèi)存泄漏的6種情況,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
使用Lumberjack+zap進(jìn)行日志切割歸檔操作
這篇文章主要介紹了使用Lumberjack+zap進(jìn)行日志切割歸檔操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12

