首頁 > 後端開發 > Golang > 主體

如何在 Golang 中的'interface{}”中存取匿名結構體值?

Susan Sarandon
發布: 2024-11-04 04:17:29
原創
351 人瀏覽過

How to Access Anonymous Struct Values Within an `interface{}` in Golang?

存取Golang 類型介面{} 中的匿名結構體值

您在存取傳遞給NewJob 函數的匿名結構體時遇到問題從自訂功能。您遇到的錯誤「interface {} 是沒有方法的介面」表示您正在使用的 interface{} 類型沒有定義的方法,因此無法直接存取欄位。

To要解決此問題,您需要將interface{}值類型斷言為相容類型,例如您的資料所屬的匿名結構。這樣做可以讓您進入您想要的領域。以下是調整後的程式碼:

<code class="go">func Custom(name string) interface{} {
    for i := range jobs {
        if jobs[i].name != name {
            continue
        }
        return jobs[i].custom
    }
    return nil
}

...

id := t.(struct{Id int}).Id</code>
登入後複製

在上面的程式碼中,我們向具有名為 Id 的欄位的結構體鍵入assert t。這允許我們直接存取 Id 字段,現在返回預期結果 1。

以上是如何在 Golang 中的'interface{}”中存取匿名結構體值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板