Contents
13. Closure-Functions(函数的闭包)¶
请注意,在Python示例中,您可以在内部函数中访问数字,但不能更改它。假设您想这样做。
注意:您可以使用global语句来解决该问题,例如
#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2020/4/21 13:50
# filename: sample1.py
number = 0
def increment(amount):
global number
number += amount
increment(1)
increment(2)
print(number) //3
13.1. Python¶
#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2020/4/21 13:50
# filename: sample1.py
def run():
def increment(amount):
return number + amount
number = 0
number = increment(1)
number = increment(2)
print(number) # 3
run()
13.2. Go¶
package main
import "fmt"
func main() {
number := 0
/* It has to be a local variable like this.
You can't do `func increment(amount int) {` */
increment := func(amount int) {
number += amount
}
increment(1)
increment(2)
fmt.Println(number) // 3
}