猿问

在函数中输入变量名

我对 Go 很陌生,我想把这个片段变成一个函数。


基本上,我想知道是否有可能将变量名传递给函数调用,所以如果我调用:


changeColor(varName)


它会运行,然后为输入到函数调用中的原始变量分配一个新值。


希望这是有道理的,并提前致谢


if varName == yellow {

    varName = black

} else {

    varName = yellow

}



绝地无双
浏览 170回答 1
1回答

小怪兽爱吃肉

您可以通过阅读编程语言采用的不同评估策略来了解一般概念。在 Go 中,您可以使用指针实现您正在寻找的行为。如果没有指针,您通常会传递变量的副本。使用指针,您正在传递值在内存中的位置的副本。这意味着该函数随后可以修改已获悉的位置处的实际值。这是一个执行您解释的示例的示例:http://play.golang.org/p/ufrEjmXwmB请记住,这可能不是在实际程序中执行此操作的最佳方法。如果重点只是学习,那就去吧。尝试将指针传递给指针等等:p
随时随地看视频慕课网APP

相关分类

Go
我要回答