Je suis désolé de ne pas avoir pu être plus précis dans le titre de la question, mais je lisais du code Go et j'ai rencontré des déclarations de fonction de ce formulaire:
func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
...
}
depuis https://github.com/mattermost/platform/blob/master/api/context.go
func (s *GracefulServer) BlockingClose() bool {
...
}
depuis https://github.com/braintree/manners/blob/master/server.go
Qu'est - ce que la (h handler)
et (s *GracefulServer)
entre parenthèses moyenne? Que signifie toute la déclaration de fonction, compte tenu de la signification des choses entre parenthèses?
Éditer
Ce n'est pas un doublon de Quelle est la différence de fonctions et de méthodes dans Go? : cette question m'est venue parce que je ne savais pas ce qu'il y avait entre parenthèses avant le nom de la fonction, pas parce que je me demandais quelle était la différence entre les fonctions et les méthodes ... si je savais que cette déclaration était une méthode que je ne ferais pas '' t ont eu cette question en premier lieu. Si quelqu'un a un jour le même doute que moi, je ne crois pas qu'elle ira chercher des "méthodes de golang" car elle ne sait pas que c'est le cas. Ce serait comme se demander ce que la lettre «sigma» signifie avant une expression mathématique (ne pas savoir qu'elle signifie sommation) et quelqu'un dit que c'est un doublon de ce qui fait la différence entre la sommation et une autre chose.
De plus, la réponse courte à cette question ("c'est un récepteur") n'est pas une réponse à "quelle est la différence entre les fonctions et les méthodes".
n
élément de la liste dans Haskell? , qui se trouve dans l'introduction sur Learn you a Haskell for Great Good et obtenez des réponses à leurs questions sans faire d'histoires à ce sujet.