Acessando arquivos carregados no Golang

Estou tendo problemas para acessar arquivos que carrego com golang. Sou muito novo no idioma e já fiz mais de algumas tentativas - também não consigo encontrar respostas para isso online.

O que estou fazendo errado? Nesse código, nunca chego ao bloco em que ele lista o número de arquivos enviados.

func handler(w http.ResponseWriter, r *http.Request) {
  fmt.Println("handling req...")

  if r.Method =="GET"{
    fmt.Println("GET req...")

  } else {

    //parse the multipart stuff if there
    err := r.ParseMultipartForm(15485760)

    //
    if err == nil{
        form:=r.MultipartForm
        if form==nil {
            fmt.Println("no files...")

        } else {
            defer form.RemoveAll()
            // i never see this actually occur
            fmt.Printf("%d files",len(form.File))
        }
    } else {
        http.Error(w,err.Error(),http.StatusInternalServerError)
        fmt.Println(err.Error())
    }
  }

  //fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
  fmt.Println("leaving...")
}
Atualizar

Consegui fazer o código acima funcionar. O que é ótimo. A resposta abaixo mostra como fazê-lo de forma assíncrona, que pode ser um exemplo de código melhor que o meu.

questionAnswers(2)

yourAnswerToTheQuestion