Извините, я не мог быть более конкретным в заголовке вопроса, но я читал код 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?: этот вопрос пришел ко мне, потому что я не знал, что в скобках до имени функции, а не потому, что я задавался вопросом, в чем разница между функциями и методами... если бы я знал, что это выражение было методом, у меня не было бы этого вопроса в первую очередь. Если у кого-то есть одно и то же сомнение, как я в один прекрасный день, я не верю, что она пойдет искать "методы голанга", потому что она не знает, что это так. Было бы интересно узнать, что означает буква "сигма" перед математическим выражением (не зная, что это означает суммирование), и кто-то говорит, что это дубликат того, что разница между суммированием и некоторой другой вещью.
Кроме того, короткий ответ на этот вопрос ( "это приемник" ) не отвечает на вопрос "какая разница между функциями и методами".