本文主要是介绍【笔记】go语言--函数式编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
【笔记】go语言--函数式编程
简单来说,go语言的函数式编程体现的是一个闭包的情况
函数式编程 VS 函数指针
- 函数是一等公民:参数,变量,返回值都可以是函数
- 高阶函数
- 函数->闭包
”正统“函数式编程
- 不可变性:不能有状态,只有常量和函数
- 函数只能有一个参数
- 可实现也可不实现
闭包:由函数体,局部变量,自由变量组成,自由变量可以指向和函数体发生连接的外部环境里面定义的变量
func adder() func(int) int {
//sum自由变量
sum := 0
return func(v int) int {
sum += v
return sum
}
}
//adder()函数返回的是一个闭包,而不仅仅是一段静态的代码
这篇关于【笔记】go语言--函数式编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!