抱歉,我无法在问题标题中更加具体,但是我正在阅读一些Go代码,并且遇到了这种形式的函数声明:
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)
括号平均值之间?考虑到括号之间事物的含义,整个函数声明是什么意思?
编辑
这与Go中的功能和方法有何不同?:之所以问这个问题,是因为我不知道函数名之前括号中的内容是什么,不是因为我想知道函数和方法之间的区别是什么...如果我知道此声明是一个方法,我不会首先没有这个问题。如果有一天有人和我有同样的疑问,我不相信她会去寻找“ golang方法”,因为她不知道这种情况。这就像想知道字母“ sigma”在数学表达式之前是什么意思(不知道它表示求和),并且有人说这是求和与其他事物之间的区别的重复。
同样,对这个问题的简短回答(“它是一个接收者”)并不是对“函数和方法之间的区别”的回答。
n
从Haskell列表中获取元素”之类的问题?,位于“ 了解如何使您的Haskell成就卓越”的简介中,而无需大惊小怪地回答他们的问题。