package main
import "fmt"
func main() {
num := 10
if num % 2 == 0 {
fmt.Println("the number is even")
} else {
fmt.Println("the number is odd")
}
}
Golang中的if有个变体,可以在判断条件condition之前加一个语句,语法如下:
if statement; condition {
}
我们用这种写法重构下前面的程序。
package main
import "fmt"
func main() {
if num:= 10; num % 2 == 0 {
fmt.Println("the number is even")
} else {
fmt.Println("the number is odd")
}
}
我们现在写一个程序来体验下else if的用法。
package main
import "fmt"
func main() {
num := 99
if num < 50 {
fmt.Println("number is less than or equal to 50")
} else if num >= 51 && num <= 100 {
fmt.Println("number is between 51 and 100")
} else {
fmt.Println("number is greater than 100")
}
}
防坑指南
Golang中条件语句的else不能另起一行,必须跟在}符号后面,否则编译会报错。
package main
import "fmt"
func main() {
num := 10
if num % 2 == 0 {
fmt.Println("the number is even")
}
else {
fmt.Println("the number is odd")
}
}
syntax error: unexpected else, expecting }
这时我们的代码会变成:
if num % 2 == 0 {
fmt.Println("the number is even")
}; //semicolon inserted by Go
else {
fmt.Println("the number is odd")
}