请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于struct与http.Handler不匹配的问题

在NewMiddleWareHandler(r *httprouter.Router) http.Handler中,这个函数的返回值是http.Handler,然而函数体中的返回对象是一个自定义的struct,感觉不对啊,同时报错
图片描述
图片描述

正在回答

1回答

这是go的经典用法,duck typing,我在课程里讲过这个。

你没有编译成功一定是因为没有实现那个ServeHTTP

0 回复 有任何疑惑可以回复我~
  • 提问者 火山惊魂 #1
    老师,我按照你的代码实现了,
    func (m *middleWareHandler)ServerHttp(w http.ResponseWriter, r*http.Request)  {
    	//check session
    	//
    	Prepare()
    	m.r.ServeHTTP(w,r)
    }
    不就是这个函数吗?
    回复 有任何疑惑可以回复我~ 2019-02-26 16:07:39
  • 艾文西 回复 提问者 火山惊魂 #2
    函数名明显是错的。HTTP不是Http
    回复 有任何疑惑可以回复我~ 2019-02-26 16:08:27
  • 艾文西 回复 提问者 火山惊魂 #3
    并且是ServeHTTP不是Server
    回复 有任何疑惑可以回复我~ 2019-02-26 16:11:23
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号