登录
首页 >  Golang >  Go问答

Go语言中的指针指向表达式结果

来源:stackoverflow

时间:2024-03-21 08:12:26 344浏览 收藏

在 Go 语言中,通过使用取地址运算符 (&) 可以创建指向变量的指针。但是,当需要指向表达式的结果时,该方法可能会受限。本文将介绍如何通过使用 protobuf 包的辅助函数来创建指向表达式结果的指针,从而解决此问题。

问题内容

我可以创建一个指向表达式结果的指针而不用在 go 中创建新变量吗?

package test

func foo(*uint32) {

}

func main() {
    foo(&(uint32(time.Now().Unix()))) //this line gives me error
    //cannot take the address of uint32(...
}

解决方案


在问题评论中,op 说 protobuf 消息需要指针。

proto 包提供了用于创建指向整数和其他值的指针的辅助函数。

使用 proto.Uint32 函数获取指向 uint32 的指针。

x.Time = proto.Uint32(u)

今天关于《Go语言中的指针指向表达式结果》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>