golang之switch用法:
//switch 带表达式,switch n 要和case 值相等 才会执行,case 里可以跟多个值,比如 case 1,2,3:
func main() {
n := 2
switch n {
case 1:
fmt.Println("n = ",n)
case 2:
fmt.Println("n = ",n)
case 3:
fmt.Println("n = ",n)
default:
fmt.Println("default case")
}
}
//switch 带表达式,通过switch做类型判断
func main() {
var t interface{}
switch t.(type) {
case int:
fmt.Println("int")
case string:
fmt.Println("string")
case bool:
fmt.Println("bool")
case float64:
fmt.Println("float64")
default:
fmt.Println("default interface")
}
}
//switch通过 fallthrough 穿透,下面的 n := 2 ,会输出: 1,2 3,4 5,6 只要遇到 fallthrough 就会继续向下执行,而不管条件成不成立
func main(){
n := 2
switch n {
case 1, 2:
fmt.Println("1,2")
fallthrough
case 3, 4:
fmt.Println("3,4")
fallthrough
case 5, 6:
fmt.Println("5,6")
fallthrough
default:
fmt.Println("default case")
}
}
//switch 不带表达式,这种用法相当于 switch true,case 后表达式也要为 true 才会执行
func main() {
n := 1
switch {
case n == 1:
fmt.Println("n = ",n)
case n == 2:
fmt.Println("n = ",n)
case n == 3:
fmt.Println("n = ",n)
default:
fmt.Println("default case")
}
}
