- 多数情况下,编译器会将一切与数据类型有关的问题解决得很好,包括自动化的类型推导和足够安全的类型转换
- 但这并不排除在开发和调试阶段,可能仍需确切地核实数据的底层类型
- Go语言标准库中的reflect(反射)包提供了在运行时获取类型信息的功能
- reflect.TypeOf(数据) -> 数据的类型
// 使用reflect包检查变量的类型
// 借助标准库中的reflect包,可以访问变量的底层类型
package main
import (
"fmt"
"reflect"
)
func main() {
var s string
var i int
var f float32
fmt.Println(reflect.TypeOf(s)) // string
fmt.Println(reflect.TypeOf(i)) // int
fmt.Println(reflect.TypeOf(f)) // float32
}