切换案例不同的类型与go

时间:2015-08-22 20:50:05

标签: go switch-statement

由于类型不匹配错误(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中这个惯用的方式是什么?

1 个答案:

答案 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)
    }
}