Доступ к загруженным файлам на Голанге

У меня проблемы с доступом к файлам, которые я загружаю с golang. Я действительно новичок в этом языке и прошел через несколько попыток - не могу найти ответы на этот вопрос в Интернете.

Что я делаю неправильно? В этом коде я никогда не попадаю в блок, где перечислены # загруженных файлов.

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...")
}
Обновить

Я смог заставить вышеуказанный код работать. Что здорово. Ответ ниже показывает, как сделать это асинхронно, что может быть лучшим примером кода, чем мой.