golang 使用switch来判断interface变量的类型

在go语言中,interface很好用,但是往往我们无法确定interface里存储的到底是什么类型,而且go又是强类型语言。type-switch就刚好帮我们解决了这个问题

//例子
var s interface{}
switch s.(type) {
case string:
		fmt.println("这是一个string类型的变量")
case int64:
		fmt.println("这是一个你int64类型的变量")
default:
		fmt.println("以上类型都不是")
}

//另外如果只是单纯的想知道变量的类型,可以使用reflect.typeof()
val := "abcdefg123"
fmt.println(reflect.typeof(val))		//打印结果:string
beego.Debug(reflect.typeof(val))	//Debug打印结果:string