条件语句
if-else
结构上 Java 的 if-else 语句类似,但是,也有一些明显的区别:
条件表达式可以省略
()
。1
2
3
4
5if a > 0 {
// some code
} else {
// some code
}支持初始化语句,位于条件语句之前,使用
;
分隔!1
2
3if b := 0; a > 0 {
a = b
}
语句体必须用
{}
包裹起来,并且{
必须与if
或else
位于同一行。1
2
3
4if a > 0 // syntax error: missing { after if clause
{
// some code
}
由于 1.1 以下的版本无法解析出
else
中的返回值,因此,使用低版本开发的时候需要注意以下代码,会编译失败:1
2
3
4
5
6
7func isEven(integer int32) bool {
if integer%2 == 0 {
return true
} else {
return false // 1.1 以后没问题
}
}
另外,目前 Go 语言还不支持三元操作符: x > y ? true : false
,有点遗憾。