在 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中文網其他相關文章!