golang如何判断数据类型

2020-08-07 20:26:03

使用Go的空接口:
i.(type) 只能在switch中使用,函数没有返回值

func m_type(i interface{}) {    switch i.(type) {    case string:        //...    case int:        //...    }    return}

使用反射:
reflect.TypeOf(x)

package mainimport (    "fmt"    "reflect")func main() {    var x int32 = 20    fmt.Println("type:", reflect.TypeOf(x))}

总结:第一种方法需要先知道有几种类型,第二种可以对任意对象使用。

推荐学习《golang教程》