古斯塔沃·比滕库特(Gustavo Bittencourt):
是否可以在Go中定义一个局部变量,该局部变量可以保持从一个函数调用到另一个函数的值?在C语言中,我们可以使用保留字做到这一点static
。
在C中的示例:
int func() {
static int x = 0;
x++;
return x;
}
IamNaN:
使用闭包:
函数文字是闭包:它们可以引用周围函数中定义的变量。然后,这些变量在周围的函数和函数文字之间共享,并且只要可以访问它们就可以保留。
它不必在全局范围内,只需在函数定义之外即可。
func main() {
x := 1
y := func() {
fmt.Println("x:", x)
x++
}
for i := 0; i < 10; i++ {
y()
}
}
(去操场上的样本)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句