if语句中带赋值
Go语言的if语句还有这样一种特殊写法:
if还有一种特殊的写法,可以在if表达式之前添加一个执行语句,再根据变量值进行判断,代码如下:
if zt:=getStatus();zt!=0 {
fmt.Println(zt)
return
}
这里假设getStatus()是一个带有返回值的函数,zt:=getStatus()是一个语句,执行getStatus()后,将函数返回值保存到zt变量中。
zt!=0才是if的判断表达式,当zt不等于0时,打印变量并返回。
这种写法可以将返回值与判断放在一行进行处理,而且返回值的作用范围被限制在if、else语句组合中。
定义函数并执行
func() {
// to do something
}()
立即执行函数,声明完以后加括号,用以表示即刻调用。