【笔记】go语言--函数式编程

【笔记】go语言--函数式编程

简单来说,go语言的函数式编程体现的是一个闭包的情况

函数式编程 VS 函数指针

  • 函数是一等公民:参数,变量,返回值都可以是函数
  • 高阶函数
  • 函数->闭包

”正统“函数式编程

  • 不可变性:不能有状态,只有常量和函数
  • 函数只能有一个参数
  • 可实现也可不实现

闭包:由函数体,局部变量,*变量组成,*变量可以指向和函数体发生连接的外部环境里面定义的变量

func adder() func(int) int {
//sum*变量
	sum := 0
	return func(v int) int {
		sum += v
		return sum
	}
}
//adder()函数返回的是一个闭包,而不仅仅是一段静态的代码
上一篇:高精度四件套(加减乘除)


下一篇:刷题08