gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:33:25 24 4
gpt4 key购买 nike

我有一个结构

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 的编码/编码逻辑...

最佳答案

收藏于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)

关于go - 如何从 Go 列表中检索结构指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64111975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com