首頁 > 後端開發 > Golang > 為什麼 Go 中 `yaml.Unmarshal()` 會回傳空結構體?

為什麼 Go 中 `yaml.Unmarshal()` 會回傳空結構體?

Susan Sarandon
發布: 2024-12-07 16:46:13
原創
796 人瀏覽過

Why Does `yaml.Unmarshal()` Return an Empty Struct in Go?

將 YAML 解組為 Go Struct

在 Go 中,yaml.Unmarshal() 函數用於將 YAML 資料解析為結構化表示,例如結構體。然而,當嘗試將 YAML 資料解析為結構體時,由於未知原因傳回了一個空結構體。

解決方案在於結構體字段的可見性。預設情況下,結構體欄位是不匯出的,這意味著它們只能在定義結構體的套件中存取。若要將 YAML 資料解組到結構中,必須匯出欄位。

要匯出 Go 結構中的字段,請大寫字段名稱的第一個字母。例如,不要使用:

type Config struct {
    foo_bar string
}
登入後複製

,而是使用:

type Config struct {
    FooBar string
}
登入後複製

這會使 FooBar 欄位匯出並允許從套件外部存取它。進行此變更後,yaml.Unmarshal() 可以成功將 YAML 資料解析到結構中。

以上是為什麼 Go 中 `yaml.Unmarshal()` 會回傳空結構體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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