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

来源:3-17 api之http middleware的实现与handler收尾(上)

火山惊魂

2019-02-26

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

写回答

1回答

艾文西

2019-02-26

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

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

0
5
火山惊魂
老师,明白了,定义成m *middleWareHandle时,在初始化的时候用m := &middleWareHandler{}就ok,定义指针,初始化应该取地址,谢谢老师,给你添麻烦了
2019-02-26
共5条回复

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程