在 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.









