如何访问属于vector.Vector的结构字段?

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


谢谢你的帮助。


慕莱坞森
浏览 243回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go