记录下常用的两种查看变量类型的方法,也适用于判断 Golang 返回值类型。
fmt
比较便捷的便是使用 fmt 包中的 Printf:
package main
import "fmt"
func main() { str := "Hello world" fmt.Printf("%T", str)}// 返回 string
reflect
第二种便是使用 reflect 来获取:
package main
import ( "fmt" "reflect")
func main() { str := "Hello world" fmt.Println(reflect.TypeOf(str))}// 返回 string
type switch
最后一种较为繁琐,只适用于 switch 语句,而且变量必须是interface
类型:
package main
import "fmt"
var str interface{}str = "Hello world"
switch str.(type) { case string: fmt.Println("string") case int: fmt.Println("int") default: fmt.Println("other)}// 返回 string