我正在使用time.Time作为我的一个结构中的指针.例如
type struct Example{
CreatedDate *time.Time
}
Run Code Online (Sandbox Code Playgroud)
我正在使用指针,所以如果不存在日期,我可以将nil传递给结构.
然而,这确实存在问题,因为我需要使用time.Since(then)函数,它不接受指针作为参数,但需要时间.时间.
所以...
将"&"放在结构前面很容易,例如.&time.Time,但如果你有一个指针,你怎么能扭转它,回到例如.一种时间.时间?
例如.(不起作用,但可能会让你知道我的意思)
var t *time.Time = &time.Now()
var t2 time.Time = t.(time.Time)
Run Code Online (Sandbox Code Playgroud)
我希望你能提供帮助.这个问题感觉非常愚蠢,因为我在google搜索时找不到任何关于它的信息.我觉得我在这里错过了一些东西;-)
Not*_*fer 20
var t *time.Time = &time.Now()
var t2 time.Time = *t
Run Code Online (Sandbox Code Playgroud)
就像在C中一样,&意思是"地址"并指定一个标记为的指针*T.但*也意味着"值",或取消引用指针,并分配值.
这有点偏离主题,但IMO的这种双重用途*部分是因为C中的新手和朋友对指针感到困惑.