【发布时间】:2015-04-04 23:47:48
【问题描述】:
下面的示例显示了当您反映设置为对象 (g) 和指向该对象 (h) 的指针的接口 {} 时会发生什么。这是设计使然,我应该期望我的数据类型丢失还是当我将指针放在接口 {} 中时我无法取回数据类型的名称?
包主 导入“fmt” 导入“反射” 类型 Foo 结构 { 条弦 } 功能主要(){ f := Foo{Bar: "FooBar"} typeName := reflect.TypeOf(f).Name() fmt.Printf("typeName %v\n", typeName) 变量 g 接口{} g = f typeName = reflect.TypeOf(g).Name() fmt.Printf("typeName %v\n", typeName) var h 接口{} h = &f typeName = reflect.TypeOf(h).Name() fmt.Printf("typeName %v\n", typeName) }输出:
类型名称 Foo 类型名称 Foo 类型名称也位于:
【问题讨论】:
标签: pointers reflection go