Es tut mir leid, dass ich im Titel der Frage nicht genauer sein konnte, aber ich habe einen Go- Code gelesen und bin auf Funktionsdeklarationen dieser Form gestoßen:
func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
...
}
von https://github.com/mattermost/platform/blob/master/api/context.go
func (s *GracefulServer) BlockingClose() bool {
...
}
von https://github.com/braintree/manners/blob/master/server.go
Was bedeutet das (h handler)
und das (s *GracefulServer)
zwischen Klammern? Was bedeutet die gesamte Funktionsdeklaration unter Berücksichtigung der Bedeutung der Dinge in Klammern?
Bearbeiten
Dies ist kein Duplikat von Was ist der Unterschied zwischen Funktionen und Methoden in Go? : Diese Frage kam zu mir, weil ich nicht wusste, was die Dinge in Klammern vor dem Funktionsnamen waren, nicht weil ich mich fragte, was der Unterschied zwischen Funktionen und Methoden war ... wenn ich wüsste, dass diese Deklaration eine Methode ist, würde ich nicht ' Ich hatte diese Frage überhaupt nicht. Wenn jemand eines Tages den gleichen Zweifel wie ich hat, glaube ich nicht, dass sie nach "Golang-Methoden" suchen wird, weil sie nicht weiß, dass dies der Fall ist. Es wäre, als würde man sich fragen, was der Buchstabe "Sigma" vor einem mathematischen Ausdruck bedeutet (ohne zu wissen, dass er Summation bedeutet), und jemand sagt, es sei ein Duplikat dessen, was den Unterschied zwischen Summation und etwas anderem ausmacht.
Die kurze Antwort auf diese Frage ("es ist ein Empfänger") ist auch keine Antwort auf "Was ist der Unterschied zwischen Funktionen und Methoden?".
n
Element aus der Liste in Haskell entfernen? , das in der Einführung zu Learn you a Haskell for Great Good steht und deren Fragen ohne viel Aufhebens beantwortet werden.