问题:
在下面的 Go 代码片段中:
<code class="go">func show(i interface{}) { switch t := i.(type) { case *Person: t := reflect.TypeOf(i) //what does t contain? v := reflect.ValueOf(i) //what does v contain? tag := t.Elem().Field(0).Tag name := v.Elem().Field(0).String() } }</code>
反射中的类型和值有什么区别?
答案:
在Go中,反射提供了两个主要的构造:reflect.Type和reflect 。价值。这些类型允许您在运行时内省和操作数据。
在提供的代码片段中:
要访问有关类型和值的信息,可以使用以下方法:
以上是Go 中的reflect.Type 和reflect.Value 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!