最佳答案
很抱歉,我不能在问题标题中更具体,但我正在阅读一些去代码,我遇到了这种形式的函数声明:
func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
...
}
从https://github.com/mattermost/platform/blob/master/api/context.go
func (s *GracefulServer) BlockingClose() bool {
...
}
从https://github.com/braintree/manners/blob/master/server.go
括号中的(h handler)
和(s *GracefulServer)
是什么意思?考虑到括号之间的内容,整个函数声明意味着什么?
这不是围棋中函数和方法的区别是什么?的重复:这个问题来找我是因为我不知道函数名前括号里的东西是什么,而不是因为我想知道函数和方法之间有什么区别……如果我知道这个声明是一个方法,我一开始就不会有这个问题了。如果有一天有人和我有同样的疑惑,我不相信她会去寻找“戈朗方法”。因为她不知道情况是这样的。这就像想知道字母“sigma”;意思是在数学表达式之前(不知道它是求和的意思)有人说它是求和和其他东西的区别的复制。
而且,对这个问题的简短回答(“它是一个接收器”)并不能回答“功能和方法之间的区别是什么”。