上回函数深度解析给大家聊了一些函数的基本知识,不知道还有没有人记得,不记得赶紧回去复习!
他们是
go
语言中函数的基本原理- 单/多个同/不同类型参数
- 单/多个同/不同类型返回值
- 值传递,引用传递
- 函数进阶,把函数当作变量传递(在不改变函数内部结构的情况下传入新的实现)
匿名函数
话不多说,今天小熊就带各位家人感受下go
语言函数中的高级语法。
在前面的文章里我们学会了把函数当作变量传递,可以在不改动原有函数内部实现的情况下,改变函数实现细节(设计模式:装饰器)。
这种情况下的作为变量传递的函数往往只有这一个地方用到了,其他地方不会重复使用。那就没必要单独定义一个函数在外面!(多此一举的事本熊不做!)
like this:
func functionValue(a, b int,
do func(int, int) int) {
fmt.Println(do(a, b))
}
//使用匿名函数的方法调用他 实现匿名加函数
funcationValue(1,2,func(a,b int) int{
return a+