亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 http 和 mux 上使用 HandleFunc

在 http 和 mux 上使用 HandleFunc

Go
慕桂英4014372 2023-06-05 19:24:12
我是新手,想設置一些路由,以及cors. 我已經看到了兩種這樣做的方式,一種使用 初始化多路復用器NewServeMux,然后使用 分配處理程序HandleFunc,另一種HandleFunc直接使用 on 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)這些方法有什么區別嗎?如果他們完成類似的事情,是否更常見/務實?
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

http.HandleFunc等人將您的處理程序應用于包ServeMux中保存的包全局實例http,http.ListenAndServe然后啟動。您還可以像在第一個示例中所做的那樣創建自己的實例,這為您提供了更多控制權并使單元測試更容易。最后,選擇權在你;便利函數和包全局變量可能適用于維護期有限的小型項目,但對于大型或長期項目,我通常建議管理您自己的ServeMuxServer.



查看完整回答
反對 回復 2023-06-05
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

http.HandleFunc()使用DefaultServeMuxwhich 是一個全局變量。因此任何第三方包都可以訪問DefaultServeMux. 在第三方包遭到破壞的情況下,它可以使用 DefaultServeMux 將惡意處理程序暴露給您的 Web 應用程序。這是為什么建議在生產代碼中使用您自己的 servemux 的原因之一,如第一個示例所示。



查看完整回答
反對 回復 2023-06-05
  • 2 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號