Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahsiri Data CSV ke dalam Struktur Go dengan Cekap?
Soalan:
Bagaimanakah saya boleh menyahsiri rekod CSV ke dalam struktur Go dengan cekap?
Pernyataan Masalah:
Andaikan anda mempunyai Ujian struktur Go tersuai, dengan medan Nama, Nama Keluarga dan Umur. Anda mempunyai fail CSV yang mengandungi rekod dalam format:
John;Smith;42 Piter;Abel;50
Bagaimanakah anda boleh menyahmarshal rekod ini secara automatik ke dalam contoh struktur Ujian, tanpa bergantung pada operasi penyahserikatan manual?
Jawapan:
Untuk memudahkan proses penyahserikatan, pertimbangkan untuk menggunakan perpustakaan gocarina/gocsv. gocsv menawarkan kefungsian yang serupa dengan pakej pengekodan/json tetapi khusus memenuhi data CSV.
Berikut ialah contoh menggunakan gocsv:
package main import ( "fmt" "log" "os" "github.com/gocarina/gocsv" ) type Test struct { Name string `csv:"Name"` Surname string `csv:"Surname"` Age int `csv:"Age"` } func main() { // Open CSV file for reading in, err := os.Open("test.csv") if err != nil { log.Fatal(err) } defer in.Close() // Declare a slice to hold the Test structures var tests []Test // Unmarshal the CSV records into the Test structures if err := gocsv.UnmarshalFile(in, &tests); err != nil { log.Fatal(err) } // Print the unmarshaled data for _, test := range tests { fmt.Printf("Name: %s, Surname: %s, Age: %d\n", test.Name, test.Surname, test.Age) } }
Dalam contoh ini, gocsv mengendalikan proses penyahserikatan untuk anda, memudahkan penukaran rekod CSV ke dalam struktur Go. Anda boleh menggunakan teg medan tersuai dalam struct Test untuk menentukan pengepala lajur CSV bagi setiap medan, memastikan pemetaan yang tepat.
Atas ialah kandungan terperinci Bagaimana untuk Menyahsiri Data CSV ke dalam Struktur Go dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!