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