一、switch语句
go中switch的几种用法如下面代码示例所示:
package main
import (
"fmt"
)
func main() {
var x interface{}
//用type-switch语句来判断某个interface变量中实际存储的变量类型
//写法一:
switch i := x.(type) { //带初始化语句
case nil:
fmt.Printf("x的类型:%T\r\n", i)
case int:
fmt.Printf("x是int类型")
case float64:
fmt.Printf("x是float64类型")
case func(int) float64:
fmt.Printf("x是func(int)类型")
case bool, string:
fmt.Printf("x是bool或string类型")
default:
fmt.Printf("未知类型")
}
//写法二
var j = 0
switch j {
case 0:
case 1:
fmt.Println("1")
case 2:
fmt.Println("2")
default:
fmt.Println("def")
}
//写法三
var k = 0
switch k {
case 0:
println("fallthrough")
fallthrough
/*
Go的switch非常灵活,表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项;
而如果switch没有表达式,它会匹配true。
Go里面switch默认相当于每个case最后带有brea