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

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

在Go的http庫中自定義現有處理程序

在Go的http庫中自定義現有處理程序

Go
夢里花落0921 2021-04-09 13:14:03
如http庫中所述,定義了以下內容:func Handle(pattern string, handler Handler) type Handler interface { ServeHTTP(*Conn, *Request) }我如何websocket.Draft75Handler通過給它一個附加的參數(并告訴它如何處理該參數)來改進現有的處理程序(例如)?我正在嘗試創建一個在其中包含一個通道一端的處理程序。它將使用該頻道與程序的其他部分進行對話。我怎樣才能使該通道進入處理程序函數?抱歉,這是一個愚蠢的問題。我是新手,因此決定通過閱讀教程來學習,然后直接跳入代碼。謝謝你的幫助!
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

如果類型是函數(如)websocket.Draft75Handler,則可以將其包裝在閉包中:


func MyHandler(arg interface{}) websocket.Draft75Handler {

    return func(c *http.ConnConn) {

        // handle request

    }

}


func main() {

    http.Handle("/echo", MyHandler("argument"))

    err := http.ListenAndServe(":12345", nil)

    if err != nil {

        panic("ListenAndServe: " + err.String())

    }

}


查看完整回答
反對 回復 2021-04-26
  • 1 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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