C語言中文網 目錄
首頁 > Go語言教程 > Go語言函數 閱讀:3,951

Go語言函數變量——把函數作為值保存到變量中

Go 語言中,函數也是一種類型,可以和其他類型一樣被保存在變量中。下面的代碼定義了一個函數變量 f,并將一個函數名 fire() 賦給函數變量 f,這樣調用函數變量 f 時,實際調用的就是 fire() 函數,代碼如下:
package main

import (
    "fmt"
)

func fire() {
    fmt.Println("fire")
}

func main() {

    var f func()

    f = fire

    f()
}
代碼輸出結果:
fire

代碼說明:
  • 第 7 行,定義了一個 fire() 函數。
  • 第 13 行,將變量f聲明為 func() 類型,此時 f 就被俗稱為“回調函數”。此時 f 的值為 nil。
  • 第 15 行,將 fire() 函數名作為值,賦給 f 變量,此時 f 的值為 fire() 函數。
  • 第 17 行,使用 f 變量進行函數調用,實際調用的是 fire() 函數。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo