在Go语言中,函数也是一种数据类型,我们可以通过type来定义它,它的类型就是所有拥有相同的参数,相同的返回值的一种类型。

  1. type FuncType func(int, int) int //声明一个函数类型, func后面没有函数名
  2. //函数中有一个参数类型为函数类型:f FuncType
  3. func Calc(a, b int, f FuncType) (result int) {
  4. result = f(a, b) //通过调用f()实现任务
  5. return
  6. }
  7. func Add(a, b int) int {
  8. return a + b
  9. }
  10. func Minus(a, b int) int {
  11. return a - b
  12. }
  13. func main() {
  14. //函数调用,第三个参数为函数名字,此函数的参数,返回值必须和FuncType类型一致
  15. result := Calc(1, 1, Add)
  16. fmt.Println(result) //2
  17. var f FuncType = Minus
  18. fmt.Println("result = ", f(10, 2)) //result = 8
  19. }
作者:admin  创建时间:2018-06-17 19:58
 更新时间:2018-06-17 19:59