This is a created article in which the information may have evolved or changed.
In Golang, a function is the first class of values (first-class object), that is, functions can be assigned values and assigned values. In other words, a function can also be used as a receivertype to define its own method. Instance:
http. Handlefunc (Pattern string, handler func (Responsewriter, *request))
is to use the above ideas to achieve.
Type Handlerfunc func (Responsewriter, *request)
Func (f Handlerfunc) servehttp (w responsewriter, R *request) {
F (w,r)
}
Defines the Handlerfunc type, which is essentially func (Responsewriter, *request). Then define the Servehttp (Requestwriter, *request) method, which is to let the co-implementation
Type Handler interface{
Servehttp (Responsewriter, *request)
}
Feel a great clash with Java thought ... is also very abstruse.