在golang中并没有提供内置函数来获取变量的类型,但是通过一定的方式也可以获取,下面提供两种思路
1. 通过格式化
使用格式化字符%T
(注意为大写的T)便可以获取到对应的类型
package main
import (
"fmt"
)
func main(){
var v int = 64
fmt.Printf("v的值为: %v, v的类型为: %T\n", v, v)
// 如果想要保存类型到字符串中,可以使用
typ := fmt.Sprintf("%T", v)
}
2. 通过反射机制
reflect
包中提供了相应的手段
package main
import (
"fmt"
"reflect"
)
func main(){
var v int = 64
fmt.Println(reflect.TypeOf(v))
}