Menukar Peta kepada Structs dalam Go
Soalan:
Bagaimanakah kita boleh menukar a peta dengan kunci rentetan dan nilai antara muka{} ke dalam yang sepadan struct?
Jawapan:
Terdapat dua pendekatan utama:
Menggunakan struktur peta:
import "github.com/mitchellh/mapstructure" mapstructure.Decode(myData, &result)
Pelaksanaan Tersuai:
func SetField(obj interface{}, name string, value interface{}) error { // Logic for setting the field value } func (s *MyStruct) FillStruct(m map[string]interface{}) error { // Iterate over the map and set the struct fields } // Example usage func main() { result := &MyStruct{} err := result.FillStruct(myData) if err != nil { fmt.Println(err) } }
Nota:
Kedua-dua pendekatan menganggap bahawa nama medan struct sepadan dengan kekunci peta, dan nilainya adalah jenis yang betul. Mengendalikan kes ini memerlukan kod tambahan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Peta Go kepada Structs dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!