Um tipo de função denota o conjunto de todas as funções com o mesmo parâmetro e tipos de resultado. O valor de uma variável não inicializada do tipo de função é nil.
O parâmetro de entrada final em uma assinatura de função pode ter um tipo prefixado com .... Uma função com tal parâmetro é chamada de variadic e pode ser chamada com zero ou mais argumentos para aquele parâmetro.
func()
func(x int) int
func(a, _ int, z float32) bool
func(prefix string, values ...int)
func(a, b int, z float64, opt ...interface{}) (success bool)
func(int, int, float64) (float64, *[]int)