为了账号安全,请及时绑定邮箱和手机立即绑定

将 time.Date 分配给 *time.Time 指针以测试 JSON 反序列化

将 time.Date 分配给 *time.Time 指针以测试 JSON 反序列化

Go
茅侃侃 2021-09-10 21:26:14
我有一个结构体,其中一个字段被声明为字符串,但它用于存储时间。因此,我将其更改为*time.Time(请参阅提交),注意使用指针绕过问题,",omitempty"即在空白日期的情况下不会真正省略该值。到现在为止还挺好。问题是现在我正在尝试编写一个代码来测试 JSON 字符串的正确反序列化,但我无法将结果与want := Record{Id: 1539, UpdatedAt: time.Date(2014, 01, 15, 22, 03, 04, 0, time.UTC)}因为UpdatedAt预期是一个指针*time.Time,而time.Date返回一个time.Time。我不能用want := Record{Id: 1539, UpdatedAt: &time.Date(2014, 01, 15, 22, 03, 04, 0, time.UTC)}因为它确实被拒绝了(它需要一个指针,我尝试分配一个结构)cannot take the address of time.Date(2014, 1, 15, 22, 3, 3, 0, time.UTC)这是我的问题。有没有一种方法来创建一个Record与time.Date上飞(因此不分配time.Date给一个变量,然后得到的指针)和/或对问题的解决方法,保证我能当对象被序列分配适当的零值/反序列化并且日期为空?
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

你不能获取函数返回值的地址,因为你只能获取可以赋值的地址。

可以这样想:如果将结果存储在变量中,则可以获取该变量的地址,但如果不这样做,则无法从中获取地址。



查看完整回答
反对 回复 2021-09-10
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信