我是 Go 的新手,我想将这个片段变成一个函数。
基本上,我想知道是否有可能将变量名传递给函数调用,所以如果我调用:
改变颜色(变量名)
它会运行,然后为输入到函数调用中的原始变量分配一个新值。
希望这是有道理的,提前致谢
if varName == yellow {
varName = black
} else {
varName = yellow
}
最佳答案
您可以通过阅读不同的 Evaluation Strategies 来大致了解这个概念。编程语言使用的。在 Go 中,您可以使用指针实现您正在寻找的行为。
如果没有指针,您通常会传递变量的副本。使用指针,您将传递内存中值的位置 的副本。这意味着该函数随后可以修改已知位置的实际值。
这是一个执行您所解释的操作的示例:
http://play.golang.org/p/ufrEjmXwmB
请记住,这可能不是在实际程序中执行此操作的最佳方法。如果重点只是学习,那就去吧。尝试将指针传递给指针等等:p
关于go - 在函数中输入变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32871719/