Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Unmarshal XML Fields of Type time.Time dengan Format Tarikh Tersuai di Golang?
Unmarshal XML Fields of Type time.Masa di Golang
Apabila bekerja dengan pengambilan data XML menggunakan API REST di Golang, ia tidak jarang ditemui medan tarikh yang tidak mematuhi masa lalai.Format penghuraian masa. Percanggahan ini boleh mengakibatkan kegagalan unmarshaling apabila cuba untuk menetapkan tarikh yang diambil kepada masa. Medan masa dalam struct GO.
Malangnya, tiada cara mudah untuk menentukan secara eksplisit format tarikh yang diingini kepada fungsi unmarshal. Walau bagaimanapun, wujud penyelesaian yang melibatkan penentuan struct tersuai untuk mewakili medan tarikh dengan format yang diingini.
Begini cara ia boleh dicapai:
Berikut ialah contoh kod yang menunjukkan pendekatan ini:
type Transaction struct { // ... other fields DateEntered customTime `xml:"enterdate"` // Use customTime to handle specific date format } type customTime struct { time.Time } func (c *customTime) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { const shortForm = "20060102" // Custom date format: "yyyymmdd" var v string d.DecodeElement(&v, &start) parse, err := time.Parse(shortForm, v) if err != nil { return err } *c = customTime{parse} return nil }
Dengan menggunakan pendekatan ini, anda boleh mengatasi had menentukan format tarikh semasa proses unmarshaling dan mengendalikan tarikh yang tidak mematuhi format lalai dengan lancar.
Atas ialah kandungan terperinci Bagaimana untuk Unmarshal XML Fields of Type time.Time dengan Format Tarikh Tersuai di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!