给定一个struct看起来像
struct
type foo struct { i *int }
如果要设置i为1,则必须
i
throwAway := 1 instance := foo { i: &throwAway }
有没有办法在一行中执行此操作而不必给我新i值它自己的名字(在这种情况下throwaway)?
throwaway
如邮件列表中所述,您可以执行以下操作:
func intPtr(i int) *int { return &i }
然后
instance := foo { i: intPtr(1) }
如果您必须经常这样做。intPtr内联(请参见go build -gcflags '-m'输出),因此它应该几乎没有性能损失。
intPtr
go build -gcflags '-m'