Comprendre ServeHTTP : comment fonctionne ce code ?
Dans Go, l'implémentation de la méthode ServeHTTP pour un type personnalisé rend ce type compatible avec le Interface de gestionnaire, un élément essentiel de la création de gestionnaires HTTP. Cela permet à un type personnalisé de gérer les requêtes HTTP entrantes.
Explorons le code en question :
package main import ( "fmt" "net/http" ) type foo int func (m foo) ServeHTTP(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Some text") } func main() { var bar foo http.ListenAndServe(":8080", bar) }
Comment ça marche ?
Comment la fonction ServeHTTP est-elle accessible ?
La fonction ServeHTTP est accessible via le implémentation de l'interface Handler dans le type personnalisé de foo. En implémentant ServeHTTP, foo signale qu'il est prêt à gérer les requêtes HTTP et le package HTTP le reconnaît comme un gestionnaire valide.
HandlerFunc
Le type HandlerFunc et sa fonction associée syntax est une aide qui facilite la définition de fonctions anonymes en tant que gestionnaires HTTP sans créer de type personnalisé comme dans foo. La méthode HandlerFunc ServeHTTP appelle simplement la fonction anonyme avec les arguments appropriés.
En substance, le code montre comment l'implémentation de la méthode ServeHTTP permet aux types personnalisés de gérer les requêtes HTTP, où le serveur responsable de l'écoute sur un port réseau envoie demandes entrantes à ces gestionnaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!