在 Go 中 条件语句模型 如下:
if condition 1 {
branch 1
} else if condition 2 {
branch 2
} else if condition ... {
branch ...
} else {
branch else
}
如果分支的 condition
为真,则执行该分支 {
和 }
之间的代码。在 Go 中,对于 {
和 }
的位置有严格的要求,它要求 else if
(或 else
) 和两边的花括号,必须在同一行。特别注意,即使在 {
和 }
之间只有一条语句,这两个花括号也是不能省略的。
单分支判断
只有一个 if
为单分支判断:
score := 88
if score >= 60 {
fmt.Println("成绩及格")
}
两分支判断
有 if
和一个 else
为两分支判断:
score := 88
if score >= 60 {
fmt.Println("成绩及格")
} else {
fmt.Println("成绩不及格")
}
多分支判断
有 if
、 else if
以及 else
为多分支判断:
score := 88
if score >= 90 {
fmt.Println("成绩等级为A")
} else if score >= 80 {
fmt.Println("成绩等级为B")
} else if score >= 70 {
fmt.Println("成绩等级为C")
} else if score >= 60 {
fmt.Println("成绩等级为D")
} else {
fmt.Println("成绩等级为E 成绩不及格")
}
条件语句高级写法
if
还有另外一种写法,它包含一个 statement
可选语句部分,该可选语句在条件判断之前运行。它的语法是:
if statement; condition {
}
上面单分支判断的那个例子可以重写如下:
if score := 88; score >= 60 {
fmt.Println("成绩及格")
}
参考文献:
[1] Alan A. A. Donovan; Brian W. Kernighan, Go 程序设计语言, Translated by 李道兵, 高博, 庞向才, 金鑫鑫 and 林齐斌, 机械工业出版社, 2017.