這個問題在這里已經有了答案: 如何通過介面獲取指標的值型別? (2 個回答) 昨天關門。
社區昨天審查了是否重新打開此問題并將其關閉:
原始關閉原因未解決
到目前為止我能想出的似乎不起作用:
package main
import (
"fmt"
"reflect"
)
type someStruct struct {
id string
}
func main() {
var struRef interface{} = someStruct{"Some ID"}
var iref = &struRef
fmt.Printf("Hello, % v!\n", reflect.ValueOf(iref).Elem().String())
fmt.Printf("Hello, % v!\n", reflect.ValueOf(reflect.ValueOf(iref).Elem()).String())
}
澄清一下:我想訪問只能訪問變數的id
欄位。someStruct
iref
uj5u.com熱心網友回復:
您正在處理指向介面的指標,因此:
fmt.Printf("Hello, % v!\n", reflect.ValueOf(iref).Elem().Elem().FieldByName("id").String())
應該管用。第一個Elem
取消參考指向介面的指標。第二個Elem
訪問介面中包含的結構。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/485175.html
標籤:去