21 lines
406 B
Markdown
21 lines
406 B
Markdown
|
|
# 03-closures - 闭包
|
||
|
|
|
||
|
|
闭包是指能够访问其定义作用域外变量的函数。
|
||
|
|
|
||
|
|
## 知识点讲解
|
||
|
|
|
||
|
|
```go
|
||
|
|
func makeAdder(x int) func(int) int {
|
||
|
|
return func(y int) int {
|
||
|
|
return x + y // 访问外部变量x
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
add5 := makeAdder(5)
|
||
|
|
result := add5(3) // 返回8
|
||
|
|
```
|
||
|
|
|
||
|
|
## 练习说明
|
||
|
|
|
||
|
|
打开 `main.go`,根据注释提示填充代码,完成后运行 `go test -v` 验证答案。
|