Golang对函数参数是interface类型进行类型推断
package main import ( "fmt" ) func checkType(i interface{}) { switch v := i.(type) { //这里是通过i.(type)来判断是什么类型 下面的case分支匹配到了 则执行相关的分支 case int: fmt.Printf("%v is an int", v) case string: fmt.Printf("%v is string", v) case bool: fmt.Printf("%v is bool", v) } } func main() { var a int checkType(a) }