44、Go 语言 – 函数作为值

Go语言中函数是一等公民,我们可以把一个 匿名函数 赋值给一个变量,然后向另一个函数传递这个变量

范例

下面的范例定义的函数中初始化一个变量,该函数仅仅是为了使用内置函数 math.sqrt()

/**
 * file: main.go
 * author: DDKK.COM 弟弟快看,程序员编程资料站(ddkk.com)
 * Copyright © 2015-2065 ddkk.com. All rights reserved.
 */

package main

import (
   "fmt"
   "math"
)

func main(){
   /* 声明函数变量 */
   getSquareRoot := func(x float64) float64 {
      return math.Sqrt(x)
   }

   /* 使用函数 */
   fmt.Println(getSquareRoot(9))

}

编译运行以上 Go 语言范例,输出结果如下

$ go run main.go
3