這裏是不工作的簡單圍棋程序:GoLang:訪問結構屬性的名稱
package main
import "fmt"
type Vertex struct {
X int
Y int
}
func main() {
v := Vertex{1, 2}
fmt.Println(getProperty(&v, "X"))
}
func getProperty(v *Vertex, property string) (string) {
return v[property]
}
錯誤:prog.go:18: invalid operation: v[property] (index of type *Vertex)
我要的是使用其名稱來訪問頂點x屬性。如果我做v.X
它的作品,但v["X"]
不。
有人能告訴我如何使這項工作?
+1,另請參見[反思法則](http://blog.golang.org/laws-of-reflection),其中介紹了這個想法。 –
這反映模塊是棘手的。我試圖使用它沒有成功。我似乎忘了叫'間接'。感謝您的工作示例和所有解釋。真的很感謝:-) –
感謝上面的解釋代碼。對我而言,它比代碼本身更有用! – Nebulosar