【golang学习笔记】net/http包下handler和handlerFunc区别

文章目录

      • func Handle
      • func HandleFunc
  • func Handle
  • func HandleFunc

方法签名

func Handle

func Handle(pattern string, handler Handler)
Handle注册HTTP处理器handler和对应的模式pattern(注册到DefaultServeMux)。如果该模式已经注册有一个处理器,Handle会panic。ServeMux的文档解释了模式的匹配机制。

func HandleFunc

func HandleFunc(pattern string, handler func(ResponseWriter, *Request))
HandleFunc注册一个处理器函数handler和对应的模式pattern(注册到DefaultServeMux)。ServeMux的文档解释了模式的匹配机制。

func Handle

func Handle(pattern string, handler Handler) { DefaultServeMux.Handle(pattern, handler) }

hander参数是一个接口

type Handler interface {
   ServeHTTP(ResponseWriter, *Request)
}

所以要使用这个方法需要去实现这个接口

func HandleFunc


func HandleFunc(pattern string, handler func(ResponseWriter, *Request)) {
   DefaultServeMux.HandleFunc(pattern, handler)
}

第二个参数是一个函数,不过是有特定参数的函数

所以一般使用使用HandleFunc即可

你可能感兴趣的:(GO,golang,学习,开发语言)