Lo siento, no podría ser más específico en el título de la pregunta, pero estaba leyendo un código Go y encontré declaraciones de función de esta forma:
func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
...
}
de https://github.com/mattermost/platform/blob/master/api/context.go
func (s *GracefulServer) BlockingClose() bool {
...
}
de https://github.com/braintree/manners/blob/master/server.go
¿Qué significa el (h handler)
y el (s *GracefulServer)
paréntesis entre? ¿Qué significa toda la declaración de función, teniendo en cuenta el significado de las cosas entre paréntesis?
Editar
Este no es un duplicado de ¿ Cuál es la diferencia de funciones y métodos en Go? : esta pregunta se me ocurrió porque no sabía cuáles eran las cosas entre paréntesis antes del nombre de la función, no porque me preguntara cuál era la diferencia entre funciones y métodos ... si supiera que esta declaración es un método, no lo haría He tenido esta pregunta en primer lugar. Si alguien tiene la misma duda que yo algún día, no creo que vaya a buscar "métodos de golang" porque no sabe que ese es el caso. Sería como preguntarse qué significa la letra "sigma" antes de una expresión matemática (sin saber que significa suma) y alguien dice que es un duplicado de cuál es la diferencia entre la suma y alguna otra cosa.
Además, la respuesta corta a esta pregunta ("es un receptor") no es una respuesta a "cuál es la diferencia entre funciones y métodos".
n
elemento de la lista en Haskell? , que se encuentra en la Introducción sobre Aprenda un Haskell para un gran bien y obtenga respuestas a sus preguntas sin preocuparse por ello.