Rumah >pembangunan bahagian belakang >Golang >Mengapakah `yaml.Unmarshal()` Mengembalikan Struct Kosong dalam Go?
Dalam Go, fungsi yaml.Unmarshal() digunakan untuk menghuraikan data YAML ke dalam perwakilan berstruktur, seperti struct. Walau bagaimanapun, apabila cuba menghuraikan data YAML ke dalam struct, struct kosong dikembalikan atas sebab yang tidak diketahui.
Penyelesaian terletak pada keterlihatan medan struct. Secara lalai, medan struct tidak dieksport, bermakna ia hanya boleh diakses dalam pakej di mana struct ditakrifkan. Untuk menyahmarshal data YAML ke dalam struct, medan mesti dieksport.
Untuk mengeksport medan dalam struct Go, gunakan huruf pertama nama medan. Contohnya, bukannya:
type Config struct { foo_bar string }
Gunakan:
type Config struct { FooBar string }
Ini menjadikan medan FooBar dieksport dan membolehkannya diakses dari luar pakej. Selepas membuat perubahan ini, yaml.Unmarshal() boleh berjaya menghuraikan data YAML ke dalam struct.
Atas ialah kandungan terperinci Mengapakah `yaml.Unmarshal()` Mengembalikan Struct Kosong dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!