我想通過反射獲取字段名稱的名稱。我將字符串作為指針傳遞,然后我想在函數(shù)中檢索變量名。type FooBar struct { foo *string}func bar(s *string) { var name string // TODO: Get name of the field that s is pointing to! fmt.Println("Expected string is foo: " + name)}func main() { f := Foo{"bar"} bar(f.s)}我試著用val := reflect.ValueOf(s)然后我無法獲取變量名。我應該提到我的結構中有多個字段,我事先不知道哪個字段有問題。任何幫助表示贊賞。謝謝
1 回答

一只萌萌小番薯
TA貢獻1795條經(jīng)驗 獲得超7個贊
你不可以做這個。
當你寫的時候,f.s
你所擁有的只是一個指向字符串的指針。某些結構中的某些字段恰好將 this 作為值的信息完全丟失/不可用。
我不會在這里推薦 package unsafe:你必須重新設計。
- 1 回答
- 0 關注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消