Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menyahmarshal Data CSV ke dalam Go Structs dengan Cekap?
Dalam Go, terdapat keperluan biasa untuk menyahsiri rekod CSV ke dalam struktur tersuai. Walaupun pakej "pengekodan/csv" menyediakan bacaan CSV asas, ia memerlukan penghuraian manual dan penukaran kepada struct. Nasib baik, terdapat penyelesaian alternatif yang memudahkan proses ini.
Salah satu penyelesaian sedemikian ialah gocarina/gocsv, yang mengikut pendekatan yang sama seperti pakej "pengekodan/json" untuk mengendalikan struct tersuai. Ia juga membenarkan marshalling dan unmarshalling tersuai untuk jenis tertentu.
Pertimbangkan contoh:
type Client struct { Id string `csv:"client_id"` Name string `csv:"client_name"` Age string `csv:"client_age"` } func main() { in, err := os.Open("clients.csv") if err != nil { panic(err) } defer in.Close() clients := []*Client{} if err := gocsv.UnmarshalFile(in, &clients); err != nil { panic(err) } for _, client := range clients { fmt.Println("Hello, ", client.Name) } }
Di sini, gocsv.UnmarshalFile mengisi terus bahagian pelanggan dengan struct Pelanggan yang dinyahsiri. Ini memudahkan proses unmarshalling, menjadikannya lebih intuitif dan mudah daripada menggunakan kaedah "pengekodan/csv" standard.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahmarshal Data CSV ke dalam Go Structs dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!