Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何";铸造;指向Golang中某个值的指针?_Go - Fatal编程技术网

如何";铸造;指向Golang中某个值的指针?

如何";铸造;指向Golang中某个值的指针?,go,Go,我在我的一个结构中使用time.time作为指针。乙二醇 type struct Example{ CreatedDate *time.Time } 我使用的是指针,所以如果不存在日期,我可以将nil传递给结构 但是,现在这确实带来了一个问题,因为我需要使用time.since(then)函数,它不接受指针作为参数,而是使用time.time 所以 将“&”放在结构前面很容易,例如&time.time,但是如果你有一个指针,你怎么能将它反转,回到例如一种time.time (不起作用,

我在我的一个结构中使用time.time作为指针。乙二醇

type struct Example{
    CreatedDate *time.Time
}
我使用的是指针,所以如果不存在日期,我可以将nil传递给结构

但是,现在这确实带来了一个问题,因为我需要使用time.since(then)函数,它不接受指针作为参数,而是使用time.time

所以

将“&”放在结构前面很容易,例如&time.time,但是如果你有一个指针,你怎么能将它反转,回到例如一种time.time

(不起作用,但可能让你明白我的意思)

我希望你能帮忙。这个问题感觉很傻,因为我在谷歌搜索时找不到任何关于它的信息。我觉得我只是错过了一些东西;-)

就像在C中一样,
&
表示“的地址”,并分配一个标记为
*T
的指针。但是
*
也表示“value of”,或取消对指针的引用,并指定值


这有点离题了,但在我看来,
*
的这种双重用途部分是让C语言的新手和朋友们对指针感到困惑的原因。

这叫做取消指针引用。我对此感到困惑,这让我想到这里:p
var t *time.Time = &time.Now()
var t2 time.Time = t.(time.Time)
var t *time.Time = &time.Now()
var t2 time.Time = *t