私は、container.vector.Vectorの内部にある構造体フィールドにアクセスする方法を理解する助けが必要です。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)
}
}
は生産ライン21及び22を除去するエラーprog.go:22: x.H undefined (type interface { } has no field or method H)
を生成:
a.At(0) == {H:Header_1}
a.At(1) == {B:Block_1}
したがって、正確に一つのアクセス 'H' または「Bを行う方法'?私はそれらのインターフェイスを構造体に変換する必要があるようですが、私は気にしません。私は迷っている。
ありがとうございました。
'コンテナ/ vector'パッケージは、2011年9月1日以降廃止されており、もはや標準ライブラリの一部ではありません。スライスと[SliceTricks](http://code.google.com/p/go-wiki/wiki/SliceTricks)を代わりに使用してください。 – tux21b