Go中的三元运算符介绍

159 阅读1分钟

简而言之,从PHPJavaScript 等语言中知道的三元运算符在Go中是不存在的。但是你可以用if {..} else {..} 块来表达同样的条件,它比较长,但是比较容易理解。事实上,它不在语法中是语言设计者有意选择的结果,他们注意到三元运算符经常被用来创建过于复杂的表达式。

因此,Go中只有一个条件控制流结构:if {..} else {..} 。因此,与其写:

// this is not available in Go!
variable := <condition> ? <expressionIfTrue> : <expressionIfFalse>

你需要写:

var variable int
if <condition> {
variable = <expressionIfTrue>
} else {
variable = <expressionIfFalse>
}

例子:

x := 12
var points int
if x > 10 {
points = 100
} else {
points = 0
}
fmt.Println(points)

输出

100