Muatan go Lang tidak boleh memproses fail yaml
Editor PHP Zimo mendapati bahawa ramai pembangun bahasa Go menghadapi masalah semasa memproses fail yaml. Walaupun bahasa Go menyediakan fungsi muat untuk memuatkan fail yaml, fungsi ini tidak dapat mengendalikan penghuraian fail yaml dengan betul. Masalah ini telah menyebabkan ramai pembangun menghadapi kesukaran semasa memproses fail YAML. Jadi, bagaimana untuk menyelesaikan masalah ini? Dalam artikel ini, kami akan memperkenalkan beberapa penyelesaian untuk membantu pembangun mengendalikan fail YAML dengan lancar.
Kandungan soalan
Saya cuba membaca fail yaml dan menyimpannya dalam pembolehubah, tetapi atas sebab tertentu objek tatasusunan dalam fail yaml tidak boleh menyahmarshal fail itu. Ia menunjukkan data kosong.
Berikut ialah kandungan fail yaml saya
--- version: "1.2" bunits: - name: buname bugroupid: asd bustgroupid: asd - name: buname2 bugroupid: asd2 bustgroupid: asd2
Berikut ialah kod yang digunakan
type SResponse struct { Version string `json:"version"` BUnits []BUnit `json:"bUnits"` } type BUnit struct { Name string `json:"name"` BuUnitGroupID string `json:"buGroupID"` BuUnitStGroupID string `json:"buStaticGroupID"` } func main() { _printf := fmt.Printf _printf("Start") var sListResponse SResponse source, err2 := ioutil.ReadFile("squads2.yml") if err2 != nil { _printf("Couldn't read yaml file.") } err2 = yaml.Unmarshal(source, &sListResponse) if err2 != nil { _printf("Error") } _printf("Output: %s\n", sListResponse) }
Kod membaca bahagian versi, tetapi tatasusunan bunit kosong. Sila buat cadangan.
Penyelesaian
Hiaskan struct anda dengan teg json
- anda mungkin memerlukan ini atau tidak (bergantung pada sama ada anda kemudiannya mengeksport/mengimport data ini dalam format json).
Tetapi masalah yang anda hadapi ialah yaml
导入 - 所以你需要用 yaml
标签来装饰你的 struct
takrifan.
Untuk menyokong json
和 yaml
dan yaml
marshalling/unmarshaling, cuma kemas kini tag anda seperti berikut:
type SResponse struct { Version string `json:"version" yaml:"version"` BUnits []BUnit `json:"bUnits" yaml:"bUnits"` } type BUnit struct { Name string `json:"name" yaml:"name"` BuUnitGroupID string `json:"buGroupID" yaml:"buGroupID"` BuUnitStGroupID string `json:"buStaticGroupID" yaml:"buStaticGroupID"` }
Atau jika anda tidak memerlukan pengekodan/penyahkod json, alih keluar tag json
sahaja.
Atas ialah kandungan terperinci Muatan go Lang tidak boleh memproses fail yaml. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Perbezaan antara percetakan rentetan dalam bahasa Go: perbezaan kesan menggunakan fungsi println dan rentetan () sedang ...

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

Dua cara untuk menentukan struktur dalam bahasa Go: perbezaan antara VAR dan jenis kata kunci. Apabila menentukan struktur, pergi bahasa sering melihat dua cara menulis yang berbeza: pertama ...

Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apabila menggunakan Goland untuk Pembangunan Bahasa GO, banyak pemaju akan menghadapi tag struktur tersuai ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Apabila menggunakan SQL.Open, mengapa DSN tidak melaporkan ralat? Dalam bahasa Go, sql.open ...
