title: when to use hijack in golang?
body: <p>I don't understand why we use hijack, since I can write something into response body directly, could anyone explain this?</p>
  
  <pre><code>func writeSome(w http.ResponseWriter, r *http.Request) {
      fmt.Fprintf(w, "write some thing")
  }
  </code></pre>
  
  <p>it is same as this:</p>
  
  <pre><code>func hijack(w http.ResponseWriter, r *http.Request) {
      hj, _ := w.(http.Hijacker)
      _, buf, _ := hj.Hijack()
      buf.WriteString("write some thing")
      buf.Flush()
  }
  </code></pre>
  
  <p>I am confused</p>