函数式编程
- 函数式编程有哪些特点
函数是一等公民(参数,变量,返回值,都可以是函数) - “正统”的函数式编程的特点
不可变性: 不能有变量,只有常量和函数
函数只能有一个参数
示例1 闭包
functional.png累加器
- 函数adder 返回值是一个函数func(int)int{}
- 闭包返回的并不是func(int)int{}这段函数,而是包括函数体内
自由变量sum所连接的树状结构的整体数据块
package main
import "fmt"
func adder() func(int) int {
sum :=0
return func(v int ) int {
sum += v
return sum
}
}
func main(){
a := adder()
for i :=0;i<10;i++{
fmt.Println(a(i))
}
}
网友评论