Golang的if语句支持一种复合语法:
if 语句一;条件表达式{
xxxxxx
}
语句一所定义的变量,在条件表达式中进行test,条件表达式的结果即为if的判定标准。语句最多只能一条,并且语句一中新定义的变量作用域仅在if内。例如:
if num := 9; num < 0 {
fmt.Println(num, "is negative")
} else if num < 10 {
fmt.Println(num, "has 1 digit") //num作用域在if语句内
} else {
fmt.Println(num, "has multiple digits")
}
//fmt.Println(num) //此处编译错误,已经超出变量num的作用域
这种使用方式常常用作err判断,例如:
if err := xxxx;err != nil {
xxxxxx
}
有疑问加站长微信联系(非本文作者)