Rumah > pembangunan bahagian belakang > Golang > Mengapakah `yaml.Unmarshal()` Mengembalikan Struct Kosong dalam Go?

Mengapakah `yaml.Unmarshal()` Mengembalikan Struct Kosong dalam Go?

Susan Sarandon
Lepaskan: 2024-12-07 16:46:13
asal
797 orang telah melayarinya

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

Menyahmarshaling YAML ke dalam Go Struct

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
}
Salin selepas log masuk

Gunakan:

type Config struct {
    FooBar string
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan