What are function pointers good for in Go if you can't assign them values?

Pet*_*uza -6 function-pointers go

Can you do anything in Go with a *func()?

    var f func() = foo // works
    var g *func() // works
    g = foo // fails `cannot use foo (type func()) as type *func() in assignment` as expected
    g = &foo // fails too `cannot take the address of foo`
Run Code Online (Sandbox Code Playgroud)

Adr*_*ian 5

You can't take the address of a function definition, you can take the address of a function value. This works:

g := &f
Run Code Online (Sandbox Code Playgroud)

Playground example: https://play.golang.org/p/BokYCrVmV_p