Go 如何处理 HTTP 请求?掌握这两点即可( 三 )


因此,作为最后一步,让我们更新我们的 timeHandler 应用程序以使用 DefaultServeMux:

File: main.go
package mainimport ( "log" "net/http" "time")func timeHandler(format string) http.Handler { fn := func(w http.ResponseWriter, r *http.Request) {tm := time.Now().Format(format)w.Write([]byte("The time is: " + tm)) } return http.HandlerFunc(fn)}func main() { // Note that we skip creating the ServeMux... var format string = time.RFC1123 th := timeHandler(format) // We use http.Handle instead of mux.Handle... http.Handle("/time", th) log.Println("Listening...") // And pass nil as the handler to ListenAndServe. http.ListenAndServe(":3000", nil)}如果你喜欢这篇博文,请不要忘记查看我的新书《用 Go 构建专 业的 Web 应用程序》[17] !
在推特上关注我 @ajmedwards[18] 。
此文章中的所有代码都可以在MIT Licence[19] 许可下免费使用 。


推荐阅读