4.1. 路由 - http.ServeMux
说明
goblog 需要一款灵活的路由器来搭配 MVC 程序结构。Go Web 开发有各式各样的路由器可供选择,我们先来看下 Go 标准库 net/http
包里的 http.ServeMux。
ServeMux 和 Handler
Go 语言中处理 HTTP 请求主要跟两个东西相关:ServeMux 和 Handler。
ServeMux 本质上是一个 HTTP 请求路由器(或者叫多路复用器,Multiplexor)。它把收到的请求与一组预先定义的 URL 路径列表做对比,然后在匹配到路径的时候调用关联的处理器(Handler)。
http 的 ServeMux 虽听起来陌生,事实上我们已经在使用它了。
重构:区分不同的 Handler
先来重构下我们的代码,修改如下:
main.go