go5.7

5.7 函数类型

函数是一流的类型:

1
type Add func(a int, b int) int

可以使用在任何地方-比如结构体字段、参数或者一个返回值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package main

import (
"fmt"
)

type Add func(a int, b int) int

func main() {
fmt.Println(process(func(a int, b int) int {
return a + b
}))
}
func process(adder Add) int {
return adder(1, 2)
}

像这样使用函数可以使你在一些特定实现时减少代码的耦合性,就像使用接口实现那样。

链接


本站由 @anonymity 使用 Stellar 主题创建。