由于类型不匹配错误(int vs bool)
,以下程序无法编译package main
import "fmt"
func main() {
i := 5
switch i {
case 4:
fmt.Println("4")
case i > 8:
fmt.Println("i is greator than 8")
}
}
作为动态打字背景的人,上面的内容有点文化震撼。所以想知道GO中这个惯用的方式是什么?
答案 0 :(得分:8)
只需使用通用开关:
func main() {
i := 5
switch {
case i == 4:
fmt.Println("4")
case i > 8:
fmt.Println("i is greator than 8")
default:
fmt.Printf("i = (%v), i != 4 && i <= 8\n", i)
}
}