Menukar []antara muka{} kepada []rentetan dalam Golang
Apabila bekerja dengan pakej github.com/fatih/structs, anda mungkin menghadapi situasi di mana anda perlu menukar nilai []antara muka{} yang diperoleh daripada fungsi toValues() kepada []rentetan untuk digunakan dengan csv pakej. Walau bagaimanapun, penukaran ini tidak boleh dilakukan secara langsung kerana jenis ini berbeza dalam reka letak memorinya.
Untuk menangani isu ini, anda mesti menentukan cara nilai pelbagai jenis harus diwakili sebagai rentetan. Pendekatan yang mudah adalah untuk melelaran melalui nilai dan menggunakan fmt.Sprint() untuk mendapatkan perwakilan rentetan.
Berikut ialah contoh kod yang menunjukkan ini:
t := []interface{}{ "zero", 1, 2.0, 3.14, []int{4, 5}, struct{ X, Y int }{6, 7}, } s := make([]string, len(t)) for i, v := range t { s[i] = fmt.Sprint(v) }
Ini akan menghasilkan output berikut:
[zero 1 2 3.14 [4 5] {6 7}] ["zero" "1" "2" "3.14" "[4 5]" "{6 7}"]
Dengan menggunakan teknik ini, anda boleh dengan mudah menukar []antara muka{} yang mengandungi nilai yang berbeza taip ke dalam []rentetan, membolehkan anda menggunakan pakej csv dengan berkesan untuk pemprosesan selanjutnya.
Atas ialah kandungan terperinci Bagaimana untuk Menukar []antara muka{} kepada rentetan [] dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!