猿问

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

给定一个struct看起来像


type foo struct {

 i *int

}

如果我想设置i为 1,我必须


throwAway := 1

instance := foo { i: &throwAway }

有没有办法在一行中做到这一点,而不必给我的新i值它自己的名字(在这种情况下throwaway)?


慕森卡
浏览 207回答 2
2回答

婷婷同学_

正如邮件列表中所指出的,您可以这样做:func intPtr(i int) *int {    return &i}进而instance := foo { i: intPtr(1) }如果你必须经常这样做。intPtr被内联(见go build -gcflags '-m'输出),所以它应该几乎没有性能损失。

茅侃侃

不,这不可能在一行中完成。
随时随地看视频慕课网APP

相关分类

Go
我要回答