package main
import "fmt"
func main() {
x := 27
if x%2 == 0 {
fmt.Println(x, "is even")
} else {
fmt.Println("not")
}
}
package main
import "fmt"
func givemeanumber() int {
return -1
}
func main() {
if num := givemeanumber(); num < 0 {
fmt.Println(num, "is negative")
} else if num < 10 {
fmt.Println(num, "has only one digit")
} else {
fmt.Println(num, "has multiple digits")
}
}
go中你不需要在条件中使用括号,else字句可选,但是大括号{}是必需的,go不支持三元if语句,因为每次都需要完整的语句。
上行代码中,num变量存储从givemeanumber()函数返回的值,并且改变量在所有的if分支中可用,但是if语句块以外不能是用num变量。
package main
import "fmt"
func somenumber() int {
return -7
}
func main(){
if num := somenumber();num <0 {
fmt.println(num,"is negative")
}else if num <10 {
fmt.println(num,"has 1 digit")
}else {
fmt.println(num,"has multiple digits")
}
fmt.println(num)
//num声明在if条件里面,所以外部不能调用
go中,if块内声明变量时惯用的方式。