簡體   English   中英

如何從 Go 列表中檢索結構指針

[英]How to retrieve struct pointer from Go list

我有一個結構

type clientData struct {
    msg    Message
    connId int
}

我正在嘗試將其添加到 Go List

l := list.New()
l.PushBack(&clientData {
    msg: Message {
       some fields  
    },
    connId: 1
});

現在,我如何從 List 取回數據作為*clientData數據類型? 我試過l.Front().Value但它返回一個接口......我很確定我不理解 Go here 的編組/編組邏輯......

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM