如何解决如何从Go列表中检索结构指针
我有一个结构
type clientData struct {
msg Message
connId int
}
我正尝试将其添加到Go List中
l := list.New()
l.PushBack(&clientData {
msg: Message {
some fields
},connId: 1
});
现在,如何从列表中以*clientData
数据类型取回数据?我尝试了l.Front().Value
,但是返回了一个接口...我很确定我不理解Go此处的编组/编组逻辑...
解决方法
go
中的集合包含一个raw
types(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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。