Я ищу помощь в понимании того, как получить доступ к полям структуры, которые находятся внутри container.vector.Vector.
Следующий код:
package main
import "fmt"
import "container/vector"
func main() {
type Hdr struct {
H string
}
type Blk struct {
B string
}
a := new(vector.Vector)
a.Push(Hdr{"Header_1"})
a.Push(Blk{"Block_1"})
for i := 0; i < a.Len(); i++ {
fmt.Printf("a.At(%d) == %+v\n", i, a.At(i))
x := a.At(i)
fmt.Printf("%+v\n", x.H)
}
}
Выдает ошибку prog.go:22: x.H undefined (type interface { } has no field or method H)
удаление строк 21 и 22 дает:
a.At(0) == {H:Header_1}
a.At(1) == {B:Block_1}
Итак, как именно можно получить доступ к «H» или «B»?Кажется, мне нужно преобразовать эти интерфейсы в структуры, но ... я не знаю.Я в растерянности.
Спасибо за любую помощь.