为何两次注册handler的方法不同?

来源:4-5 Vlog视频文件上传接口【开启“日常搬砖”模式】

公鸡喔喔喔

2021-03-29 15:09

http.Handle("/video/",http.StripPrefix("/video/",fileHandler))
http.HandleFunc("/api/upload",uploadHandler)

为什么两次使用的注册方法不同呢?

写回答 关注

1回答

  • 虽然还是咸鱼
    2021-10-29 17:38:43

    HandleFunc传入的第二个参数是一个函数,Handle传入的是一个实现了Handler接口的结构体。内部实现的时候,这个传入的参数当然会被统一成一个接口,但是函数不是接口,所以需要做内部的转型,给函数绑定一个方法,然后调用函数自己(这个算是go比较巧妙的用法)。其实HandleFunc内部的实现很简单,最后也是调用Handle。

5G时代Vlog原型系统开发

Vlog创造了一大批“网红”,来学Vlog系统开发,做第一批吃螃蟹的人!

12618 学习 · 19 问题

查看课程

相似问题