Go allows the creation of reusable function signatures with the type keyword. In simple words, Golang also supports defining our own function types.
Go custom function types
In this example, we use the type keyword to create a function type that accepts one string parameter and returns a string.
package main
import "fmt"
type output func(string) string
func hello(name string) string {
return fmt.Sprintf("hello %s", name)
}
func main() {
var f output
f = hello
fmt.Println(f("Raj"))
}
Output:
hello Raj