首页> 基础笔记 >GoLang基础学习 >函数 函数
Golang闭包的介绍和使用方法
作者:小萝卜 2023-04-06 【 GoLang 】 浏览 545
简介基本介绍:闭包就是一个函数和与其相关的引用环境组合的一个整体(实体)
介绍
基本介绍:闭包就是一个函数和与其相关的引用环境组合的一个整体(实体)
案例演示:
package main
import (
"fmt"
"strings"
)
//累加器
func AddUpper() func (int) int {
var n int = 10
return func (x int) int {
n = n + x
return n
}
}
func main() {
//使用前面的代码
f := AddUpper()
fmt.Println(f(1))// 11
fmt.Println(f(2))// 13
fmt.Println(f(3))// 16
}
对上面代码的说明和总结
1) AddUpper是一个函数,返回的数据类型是 fun (int) int
2)闭包的说明返回的是一个匿名函数,但是这个匿名函数引用到函数外的 n ,因此这个匿名函数就和 n形成一个整体,构成闭包。
3)大家可以这样理解:闭包是类,函数是操作,n是字段。函数和它使用到 n构成闭包。
4)当我们反复的调用 f函数时,因为 n是初始化一次,因此每调用一次就进行累计。
5)我们要搞清楚闭包的关键,就是要分析出返回的函数它使用(引用)到哪些变量,因为函数和它引用到的变量共同构成闭包。
很赞哦! (0)
上一篇:Golang闭包的最佳实践