指向非复合文字的指针
答
如果我理解正确的是的x
唯一的一点是要分配int
,我建议一些更“详细”:
y := new(int)
*y = 5
我没有看到它得到任何比你有什么短。由于&
运算符requires其操作数可以是可寻址的或复合文字,因此您要么停留在做你正在做的事情来获得可寻址的东西,要么可以按照我的建议做,并且完全避免使用&
。
+2
如果它是一个普通的类型,可以用类似于 的函数来包装它,func intPtr(int)* int {return&i} func main() y:= intPtr(5) }' http://play.golang.org/p/bIOUAua2b5 – losinggeneration
我不明白在这段代码中可以缩短什么。你想要指向变量x的指针? – topskip
我也不确定这可以得到多简洁。 –
“非常详细”?我_never_ _ever_不得不写这样的东西... – Volker