如何从 Go 列表中检索结构指针

我有一个结构


type clientData struct {

    msg    Message

    connId int

}

我正在尝试将其添加到Go List


l := list.New()

l.PushBack(&clientData {

    msg: Message {

       some fields  

    },

    connId: 1

});


现在,我如何*clientData从 List 取回数据作为数据类型?我试过l.Front().Value了,但这会返回一个界面......我很确定我不明白 Go here 的编组/编组逻辑......


慕仙森
浏览 94回答 1
1回答

郎朗坤

集合中go包含一个raw 类型(Element.Value👉🏻空interface{})。每次从以下位置获取值时,您都必须分配类型list:l := list.New()l.PushBack(&clientData {    msg: Message {       some fields      },    connId: 1,})cd, ok := l.Front().Value.(*clientData)if !ok {    panic(errors.New("not a client type"))}fmt.Println(cd.connId)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go