Go function as parameter

A Go function can be passed to other functions as a parameter. Such a function is called a higher-order function.

Go function as a parameter

In the example, the apply function takes the inc() and dec() functions as parameters.

 package main import "fmt" func inc(x int) int { x++ return x } func dec(x int) int { x-- return x } func apply(x int, f func(int) int) int { r := f(x) return r } func main() { r1 := apply(5, inc) r2 := apply(4, dec) fmt.Println(r1) fmt.Println(r2) }  

Output:

6 3 

Comments