Goa项目http router的底层使用的是第三方包httprouter
httprouter
HttpRouter是一个Go下轻量高效的 HTTP request router(also called multiplexer)。
usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| package main
import ( "fmt" "github.com/julienschmidt/httprouter" "net/http" "log" )
func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { fmt.Fprint(w, "Welcome!\n") }
func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { fmt.Fprintf(w, "hello, %s!\n", ps.ByName("name")) }
func main() { router := httprouter.New() router.GET("/", Index) router.GET("/hello/:name", Hello)
log.Fatal(http.ListenAndServe(":8080", router)) }
|