code: func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) {
  	//now := time.Now()
  	if root, exist := r.roots[req.Method]; exist {
  		handler, params, _ := root.match(req.URL.Path)
  		if handler != nil {
  			handler.ServeHTTP(w, req, params)
  			//log.Println(time.Now().Sub(now))
  			return
  		}
  	}
  	r.handleMissing(w, req)
  }
docs: // http Handler Interface