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

分配int指针值的简单方法?

分配int指针值的简单方法?

Go
慕森卡 2021-09-27 18:28:24
给定一个struct看起来像type foo struct { i *int}如果我想设置i为 1,我必须throwAway := 1instance := foo { i: &throwAway }有没有办法在一行中做到这一点,而不必给我的新i值它自己的名字(在这种情况下throwaway)?
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

正如邮件列表中所指出的,您可以这样做:


func intPtr(i int) *int {

    return &i

}

进而


instance := foo { i: intPtr(1) }

如果你必须经常这样做。intPtr被内联(见go build -gcflags '-m'输出),所以它应该几乎没有性能损失。



查看完整回答
反对 回复 2021-09-27
?
茅侃侃

TA贡献1842条经验 获得超21个赞

不,这不可能在一行中完成。


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

添加回答

举报

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