我正在寻找帮助,以了解如何访问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”到底有多准确?似乎我需要将这些接口转换为结构,但是……我不知道。我很茫然。
谢谢你的帮助。
相关分类