如果我有这样的结构:type Message struct { Id int64 Message string ReplyTo *int64}然后,如果我确实像这样创建了这个结构的实例:var m Messagem.Id = 1m.Message = "foo bar yo"var replyTo = int64(64)m.ReplyTo = &replyTo然后它会起作用。但我想知道最后一步是否有捷径?我尝试做类似的事情:m.ReplyTo = &int64{64}但它没有用。
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
我认为您不能,因为该值是一个原始值,并且尝试像下面这样一次性完成将是语法错误。它试图获取一个值的地址,所以这是不可能的。至少我不知道有什么可能的方法。
someInt := &int64(10) // would not compile
另一种选择是编写一个函数来返回一个指向原语的指针,如下所示:
func NewIntPointer(value int) *int {
return &value
}
- 1 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消