在Golang 中解組time.Time 類型的XML 字段
在Golang 中使用REST API 進行XML 資料檢索時,它不是遇到不符合預設time.Time 解析格式的日期欄位的情況並不常見。當嘗試將檢索到的日期指派給 GO 結構中的 time.Time 欄位時,這種差異可能會導致解組失敗。
不幸的是,沒有直接的方法可以向解組函數明確指定所需的日期格式。但是,存在一種解決方法,涉及定義自訂結構來表示具有所需格式的日期欄位。
以下是實作它的方法:
以下是示範此方法的範例程式碼:
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 }
透過採用此方法,您可以克服在解組過程中指定日期格式的限制,並無縫處理不符合預設格式的日期。
以上是如何在 Golang 中使用自訂日期格式解組 time.Time 類型的 XML 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!