是否存在用于获取指向非复合文字的指针的既定模式?
x := 5
y := &x
上面的代码有效,但是非常冗长。
最佳答案
如果我正确理解x
的唯一要点就是分配int
,那么我建议您做些“更冗长”的事情:
y := new(int)
*y = 5
我认为没有比您拥有的更短的产品了。由于
&
运算符requires的操作数可以是可寻址的,也可以是复合文字,因此,您要么做您正在做的事情以获得可寻址的内容,要么可以执行我建议的操作,并完全避免&
。是否存在用于获取指向非复合文字的指针的既定模式?
x := 5
y := &x
最佳答案
如果我正确理解x
的唯一要点就是分配int
,那么我建议您做些“更冗长”的事情:
y := new(int)
*y = 5
&
运算符requires的操作数可以是可寻址的,也可以是复合文字,因此,您要么做您正在做的事情以获得可寻址的内容,要么可以执行我建议的操作,并完全避免&
。