gpt4 book ai didi

go - 在 http 和 mux 上使用 HandleFunc

转载 作者:IT王子 更新时间:2023-10-29 02:35:39 28 4
gpt4 key购买 nike

我是新手,想设置一些路由,以及 cors。我看到了两种这样做的方式,一种使用 NewServeMux 初始化多路复用器,然后使用 HandleFunc 分配处理程序,另一种使用 HandleFunc 直接在 http 上。这就是我的意思:

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)

这些方法有什么区别吗?如果他们完成类似的事情,是否更普遍/务实?

最佳答案

http.HandleFunc 等人将您的处理程序应用于 http 包中保存的 ServeMux 的包全局实例,该 http.ListenAndServe 然后开始。您还可以像在第一个示例中所做的那样创建自己的实例,这为您提供了更多控制权并使单元测试更容易。最后,选择权在你;便利函数和包全局变量可能适用于维护周期有限的小型项目,但对于大型或长期项目,我通常建议管理您自己的 ServeMuxServer< 实例.

关于go - 在 http 和 mux 上使用 HandleFunc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54678816/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com