是否可以在 Go 中定义一个局部变量,该变量可以从一个函数调用到另一个函数保持其值?在 C 中,我们可以使用保留字来做到这一点static。C 中的示例:int func() { static int x = 0; x++; return x;}
3 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
使用闭包:
函数字面量是闭包:它们可以引用在周围函数中定义的变量。然后这些变量在周围的函数和函数文字之间共享,只要它们可以访问,它们就会存在。
它不必在全局范围内,就在函数定义之外。
func main() {
x := 1
y := func() {
fmt.Println("x:", x)
x++
}
for i := 0; i < 10; i++ {
y()
}
}
(Go Playground示例)
- 3 回答
- 0 关注
- 362 浏览
添加回答
举报
0/150
提交
取消