登录
首页 >  Golang >  Go问答

将 http.Handler 封装在函数中

来源:stackoverflow

时间:2024-02-26 15:18:25 426浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《将 http.Handler 封装在函数中》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

在go中获取文件系统的最简单方法是下面的代码。

http.handle("/files", http.stripprefix(pathprefix, http.fileserver(root)))

但出于客观设计的目的,我更喜欢将函数体包装在这样的方法中。

f := file{}
http.Handle("/download", f.download)
http.Handle("/upload", f.upload)

我应该如何将代码内容包装在文件结构方法中?


解决方案


您可以使用 http.handlefunc 而不是 http.handle 来完成此操作:

f := file{}
http.HandleFunc("/download", f.download)
http.HandleFunc("/upload", f.upload)

假设它有正确的签名(即假设 f.download 被定义为类似 func (f file) download(w http.responsewriter, r *http.request) ),那么它应该做你想要的.

今天关于《将 http.Handler 封装在函数中》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>