自学内容网 自学内容网

golang函数类型Function Types

Function types
A function type denotes the set of all functions with the same parameter and result types. The value of an uninitialized variable of function type is nil.

函数类型(function types)是一种特殊的类型,它表示着所有拥有同样的入参类型和返回值类型的函数集合。

参考http的实现,定义了一个HandlerFunc的函数类型

type HandlerFunc func(ResponseWriter, *Request)

一个函数只要满足这些特征,那么它就可以通过如下方式将该函数转换成 HandlerFunc类型

helloHandler := func(writer http.ResponseWriter, request *http.Request) {
_, _ = fmt.Fprint(writer, "Hello World")
}

//将函数转化为函数类型
handlerFunc := http.HandlerFunc(helloHandler)

在http的实现中,函数类型HandlerFunc充当了一个适配器的作用,适配http中的Handler接口

type HandlerFunc func(ResponseWriter, *Request)

// ServeHTTP calls f(w, r).
func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) {
f(w, r)
}

原文地址:https://blog.csdn.net/wt_better/article/details/143479663

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!