title: Difference between http.Handle and http.HandleFunc?
body: <p>The Go docs have the following example for the http package:</p>
  
  <pre><code>http.Handle("/foo", fooHandler)
  http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) {
      fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
  })
  </code></pre>
  
  <p>I'm having sort of a difficulty understanding the difference between Handle and HandleFunc and why two are needed. Can somebody try to explain to a new Gopher in clear words?</p>