Obtener el nombre de la función mediante la reflexión en Golang

Estoy tratando de usar el sistema de reflexión de Go para recuperar el nombre de una función, pero obtengo una cadena vacía al llamar al método Name en su tipo. ¿Es este el comportamiento esperado?

Este es un ejemplo simple de cómo enfoco el problema:

package main

import "fmt"
import "reflect"

func main() {
    typ := reflect.TypeOf(main)
    name := typ.Name()
    fmt.Println("Name of function" + name)
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta