我玩弄了答案并尝试以相同的方式获取结构的名称:
package main
import (
"fmt"
"reflect"
)
type Ab struct {
}
func getType(myvar interface{}) string {
return reflect.TypeOf(myvar).Name()
}
func main() {
fmt.Println("Hello, playground")
tst := "string"
tst2 := 10
tst3 := 1.2
tst4 := new(Ab)
fmt.Println(getType(tst))
fmt.Println(getType(tst2))
fmt.Println(getType(tst3))
fmt.Println(getType(tst4))
}
去游乐场:http : //play.golang.org/p/tD8mygvETH
但输出是:
Hello, playground
string
int
float64
Program exited.
预期输出将是:
Hello, playground
string
int
float64
Ab
Program exited.
我试图通过阅读文档来弄清楚,但没有找到相关问题。所以,对于这个非常普遍的问题,抱歉,但是:
是什么原因,reflect.TypeOf().Name()不适用于(这个)结构?
Smart猫小萌
BIG阳
冉冉说
相关分类