Debugging 在Delve中调试时理解'time.time'值

Debugging 在Delve中调试时理解'time.time'值,debugging,go,Debugging,Go,调试处理time.time值的程序时,我需要能够打印值并理解它们。在Delve中,如果我打印类型为time.time的变量,它将打印对象的内部结构,并且不允许我在对象上运行time.time方法 如何理解此结构,并将其转换为我对Unix()、UnixNano()或String()函数所打印内容的正常理解 例如: $ dlv test (dlv) b calendar.go:200 (dlv) p appt time.Time { wall: 0, ext: 63673770600, loc: *

调试处理
time.time
值的程序时,我需要能够打印值并理解它们。在Delve中,如果我打印类型为
time.time
的变量,它将打印对象的内部结构,并且不允许我在对象上运行
time.time
方法

如何理解此结构,并将其转换为我对
Unix()
UnixNano()
String()
函数所打印内容的正常理解

例如:

$ dlv test
(dlv) b calendar.go:200
(dlv) p appt
time.Time {
wall: 0,
ext: 63673770600,
loc: *time.Location {
    name: "Local",
    zone: []time.zone len: 4, cap: 4, [
        (*time.zone)(0xc0000a8100),
    ],
    tx: []time.zoneTrans len: 235, cap: 235, [
        (*time.zoneTrans)(0xc0000bb000),
        ...+171 more
    ],
    cacheStart: 1520751600,
    cacheEnd: 1541311200,
    cacheZone: *(*time.zone)(0xc0000a8100),},}
或在值列表的情况下:

(dlv) p dates
[]time.Time len: 2, cap: 2, [
{
    wall: 0,
    ext: 63673689600,
    loc: *(*time.Location)(0xc00008e9c0),},
{
    wall: 0,
    ext: 63673776000,
    loc: *(*time.Location)(0xc00008ea80),},
]
我发现我需要钻研。在批准和发布之前,我能做些什么来理解这些价值观并将其转换为更具可读性的形式

作为一种解决方法,我考虑添加字符串类型的新变量,并根据需要使用
.string()
.Format(…)
的输出进行更新。有更好的选择吗?

添加您想要的功能似乎已经结束

关闭时,您可以通过调用时间值上的方法来格式化 调用t.Format(…)或调用t.String()