我对 Go 很陌生,我想把这个片段变成一个函数。基本上,我想知道是否有可能将变量名传递给函数调用,所以如果我调用:changeColor(varName)它会运行,然后为输入到函数调用中的原始变量分配一个新值。希望这是有道理的,并提前致谢if varName == yellow { varName = black} else { varName = yellow}
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
您可以通过阅读编程语言采用的不同评估策略来了解一般概念。在 Go 中,您可以使用指针实现您正在寻找的行为。
如果没有指针,您通常会传递变量的副本。使用指针,您正在传递值在内存中的位置的副本。这意味着该函数随后可以修改已获悉的位置处的实际值。
这是一个执行您解释的示例的示例:
http://play.golang.org/p/ufrEjmXwmB
请记住,这可能不是在实际程序中执行此操作的最佳方法。如果重点只是学习,那就去吧。尝试将指针传递给指针等等:p
- 1 回答
- 0 关注
- 169 浏览
添加回答
举报
0/150
提交
取消