我做了一個游樂場,再現了我的問題。我有一些測試失敗了,因為json Marshal方法在對象轉換過程中似乎會丟失精度。time.Time運行以下代碼:package mainimport ( "fmt" "encoding/json" "time")type myStruct struct{ Now time.Time `json:"time"`}func main() { expect := &myStruct{Now: time.Now()} fmt.Println(expect.Now.String()) byteData, err := json.Marshal(expect) if err != nil { panic(err.Error()) } actual := &myStruct{} err = json.Unmarshal(byteData, &actual) if err != nil { panic(err.Error()) } fmt.Println(actual.Now.String())}輸出:2009-11-10 23:00:00 +0000 UTC m=+0.0000000012009-11-10 23:00:00 +0000 UTC問題是,當我運行任何涉及對象轉換的測試時,我無法使用任何標準方法來比較結果(作證,反映...)。time.Time有沒有辦法在編組對象時保持精度,或者將時間值“舍入”到較低的精度?time.Time
- 2 回答
- 0 關注
- 117 瀏覽
添加回答
舉報
0/150
提交
取消
