是否有将变量分配给指针而不先在单独的行中创建变量的快捷方式?

如果我有这样的结构:


type Message struct {

    Id      int64

    Message string

    ReplyTo *int64

}

然后,如果我确实像这样创建了这个结构的实例:


var m Message

m.Id = 1

m.Message = "foo bar yo"


var replyTo = int64(64)

m.ReplyTo = &replyTo

然后它会起作用。


但我想知道最后一步是否有捷径?


我尝试做类似的事情:


m.ReplyTo = &int64{64}

但它没有用。


慕慕森
浏览 159回答 1
1回答

莫回无

我认为您不能,因为该值是一个原始值,并且尝试像下面这样一次性完成将是语法错误。它试图获取一个值的地址,所以这是不可能的。至少我不知道有什么可能的方法。someInt := &int64(10) // would not compile 另一种选择是编写一个函数来返回一个指向原语的指针,如下所示:func NewIntPointer(value int) *int {  return &value}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go