2 回答
TA贡献1876条经验 获得超6个赞
您在使用时获得所需的人类可读时间的唯一方法%v是实现 Stringer 接口。
package main
import (
"time"
"fmt"
)
type TimeStruct struct {
t time.Time
}
func (self TimeStruct) String() string {
return fmt.Sprintf("TimeStruct{time.Time: %v}", self.t)
}
func main() {
t := time.Now()
ts := TimeStruct{t: t}
// time struct: TimeStruct{time.Time: 2009-11-10 23:00:00 +0000 UTC}
fmt.Printf("time struct: %v\n", ts)
}
TA贡献1875条经验 获得超5个赞
另一种选择是嵌入时间,因此它的方法在您的TimeStruct(操场)上可用,例如
type TimeStruct struct {
time.Time
}
func main() {
t := time.Now()
fmt.Printf("time: %v\n", t)
ts := TimeStruct{Time: t}
fmt.Printf("time struct: %v\n", ts)
}
哪个打印
time: 2009-11-10 23:00:00 +0000 UTC
time struct: 2009-11-10 23:00:00 +0000 UTC
请注意使用%vnot%#v将打印结构成员。
- 2 回答
- 0 关注
- 151 浏览
添加回答
举报