Вот простая программа go, которая не работает:
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: неверная операция: v[property] (индекс типа *Vertex)
Я хочу получить доступ к свойству Vertex X, используя его имя. Если я сделаю v.X
, это сработает, а v["X"]
— нет.
Может кто-нибудь сказать мне, как заставить эту работу?