Ось проста програма 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 [властивість] (індекс типу * Vertex)
Я хочу отримати доступ до властивості Vertex X, використовуючи його назву. Якщо я v.X
це роблю, це працює, але v["X"]
ні.
Хтось може сказати мені, як зробити так, щоб це працювало?