【发布时间】:2019-02-13 20:23:17
【问题描述】:
我是新手,想设置一些路由,以及cors。我已经看到了两种这样做的方式,一种使用NewServeMux 初始化多路复用器,然后使用HandleFunc 分配处理程序,另一种直接在http 上使用HandleFunc。这就是我的意思:
mux := http.NewServeMux()
mux.HandleFunc("/api", apiFunc)
mux.HandleFunc("/", indexFunc)
对比
http.HandleFunc("/api", apiFunc)
http.HandleFunc("/", indexFunc)
http.ListenAndServe("127.0.0.1:3001", nil)
这些方法有什么不同吗?如果他们完成类似的事情,是更常见/更实用的事情吗?
【问题讨论】:
-
使用您自己定义的
mux为您提供更大的灵活性。它将允许您在同一个应用程序中运行多个服务。您不能使用全局mux来执行此操作,否则在使用相同模式时,不同的服务器实现会重叠甚至可能相互矛盾。
标签: go