問題:
在下面的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中文網其他相關文章!