0

我有一个这样的自定义类型:

type Timestamp struct {
    Time time.Time  
}
// some more methods...

现在,当我使用以下方法打印它的实例时fmt

test := Timestamp{
    Time: time.Now(),
}
fmt.Println("TEST:", test)

输出是:

TEST: {2009-11-10 23:00:00 +0000 UTC m=+0.000000001}

如何将自定义格式添加到自定义类型以漂亮地打印输出,就像2009-11-10T23:00:00Z应该使用fmt函数(Println等)打印的情况一样?

4

1 回答 1

0

就像添加这个函数一样简单:

func (ts Timestamp) Format(f fmt.State, c rune) {
    f.Write([]byte(ts.Time.Format(time.RFC3339)))
}

输出:

TEST: 2020-05-01T08:25:14Z
于 2020-05-01T08:27:27.767 回答