У меня есть структура go, и мне нужно работать с одним из полей. Однако я начинаю с строки. Как это сделать, чтобы получить поле.Имена полей структуры, начинающиеся со строки
package main
import "fmt"
func main() {
type Point struct{
x int
y int
}
pt := Point{x:2, y:3}
a := "x"
fmt.Printf("%s", pt.a)
}
С a = "x"
Я ожидаю pt.x = 2
. Вот сообщение об ошибке, которое оно распечатывает. Я определенно начинаю с строки, поэтому я не могу просто удалить кавычки.
$ go run point.go
# command-line-arguments
./point.go:14: pt.a undefined (type Point has no field or method a)
Является ли это 'Point' struct вашим фактическим прецедентом? Можете ли вы объяснить немного больше о том, где вы пытаетесь это сделать? –
Что вы ожидаете от этого кода? –
Имена полей 'Point' -' x' и 'y', а не' a'. – Akavall