📜  Golang 中的reflect.TypeOf()函数示例(1)

📅  最后修改于: 2023-12-03 15:01:02.008000             🧑  作者: Mango

Golang 中的 reflect.TypeOf() 函数介绍

在 Golang 中,reflect.TypeOf() 函数用于获取任意值的实际类型。它返回一个 reflect.Type 类型的值,该值表示输入值的实际类型。

函数原型
func TypeOf(i interface{}) Type
参数说明

函数接受一个 interface{} 类型的参数,可以接受任何类型的值作为参数。

返回值说明

返回一个 reflect.Type 类型的值,该值表示输入值的实际类型。

示例
package main

import (
    "fmt"
    "reflect"
)

func main() {
    var str string = "hello, world"
    var num int = 42
    var flt float64 = 3.14

    fmt.Println(reflect.TypeOf(str))   // string
    fmt.Println(reflect.TypeOf(num))   // int
    fmt.Println(reflect.TypeOf(flt))   // float64
}

在这个示例中,我们定义了一个字符串变量、一个整型变量和一个浮点型变量,并使用 reflect.TypeOf() 函数获取它们的实际类型。输出结果分别为 "string"、"int" 和 "float64"。

注意点
  1. reflect.TypeOf() 函数返回的 reflect.Type 类型对象包含了输入值的类型信息,可以进行动态类型转换、获取字段信息等操作。
  2. 在使用 reflect.TypeOf() 函数时,建议使用类型断言(type assertion)来获取具体类型的值,以避免运行时类型断言失败的问题。