helloを表示するgreet関数を変数fに代入して実行してみる。
package main import "fmt" func main() { var f func() f = greet f() } func greet() { fmt.Println("hello") }
ここで、f = greetは、関数greetを値として変数に代入している。この場合、f()で、変数fの値が関数型だったら実行される。
fmt.Printlnすると、helloが表示される。
次に関数型のfを実行するdofunc関数を作成して、上記と同様にhelloを表示してみる。
package main import "fmt" func main() { var f func() f = greet dofunc(f) } func greet() { fmt.Println("hello") } func dofunc(f func()) { f() }
func dofunc(f func()) { f()}で、関数型の変数fを実行するdofunc関数を作成している。mainの中でdoFunc(f)で実行する。