Comment créer un serveur Web de base à laide de Go

Comment créer un serveur Web de base à laide de Go

Go est un langage de programmation intéressant pour créer des applications Web modernes ainsi que des logiciels système. Il a créé un énorme buzz après sa sortie et alimente des services comme Docker, Kubernetes, Terraform, Dropbox et Netflix .

De plus, la solide collection de packages intégrés de Go en fait un excellent choix pour la programmation Web. Cet article va vous montrer comment écrire un serveur Web de base dans Go.

Importez les packages nécessaires

Le package net/HTTP fournit tout le nécessaire pour créer un serveur Web et un client. Ce package présente quelques fonctions utiles pour gérer la programmation Web.

Vous pouvez l'importer en ajoutant la ligne ci-dessous au début de votre code source :

import "net/http"

L'article utilisera également le package fmt pour formater les chaînes et le package log pour gérer les erreurs. Vous pouvez les importer individuellement comme indiqué ci-dessus, ou importer tous les packages à l'aide d'une seule instruction d'importation :

import (
"fmt"
"log"
"net/http"
)

Vous pouvez procéder à l'écriture de la fonction principale après avoir importé les packages nécessaires. Allez-y et enregistrez le fichier source avec l' extension .go . Si vous utilisez Vim , utilisez la commande ci-dessous pour enregistrer et quitter Vim :

:wq server.go

Écrivez la fonction principale

Les programmes Go résident directement dans la fonction principale, bien nommée « main ». Vous devrez passer un appel au serveur ici. Ajoutez les lignes suivantes au code source et voyez ce qu'elles font :

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

L'exemple définit la fonction principale à l'aide du mot-clé func . Go a des règles strictes concernant la position de l’accolade d’ouverture, alors assurez-vous que l’accolade de départ est sur la bonne ligne. La première instruction de main définit que toutes les requêtes Web adressées au chemin racine ( "/" ) seront gérées par index, une fonction de type http.HandlerFunc .

La deuxième ligne démarre le serveur web via la fonction http.ListenAndServe . Il signale au serveur d'écouter en permanence les requêtes HTTP entrantes sur le port 8080 du serveur. Le deuxième paramètre de cette fonction est nécessaire pour bloquer le programme jusqu'à la fin.

Étant donné que http.ListenAndServe renvoie toujours une erreur, l'exemple encapsule cet appel dans un appel log.Fatal . Cette instruction enregistre tous les messages d'erreur générés côté serveur.

Implémenter des fonctions de traitement

Comme vous pouvez le voir, la fonction principale appelle la fonction de gestionnaire index pour gérer les demandes des clients. Cependant, l'exemple n'a pas encore défini cette fonctionnalité pour son serveur.

Ajoutons les instructions nécessaires pour rendre la fonction d'index utilisable :

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

Cette fonction prend deux arguments différents de type http.ResponseWriter et http.Request . Le paramètre http.ResponseWriter contient la réponse du serveur à la requête entrante, sous la forme d'un objet http.Request .

La fonction Fprintf du package fmt est utilisée pour afficher et manipuler des chaînes de texte. L'article l'utilise pour afficher la réponse du serveur aux requêtes Web. Enfin, l'élément r.URL.Path[1:] est utilisé pour récupérer les données après le chemin racine.

Ajoutez toutes les parties restantes

Votre serveur Web Go sera prêt une fois que vous aurez ajouté tous les composants restants. Le code ressemblera à ceci :

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

La première ligne est nécessaire pour compiler le code de ce serveur Web Go sous forme de fichier exécutable.

Comment créer un serveur Web de base à l'aide de Go

Compilez ce code du serveur Web Go en tant que fichier exécutable


Comment lancer des applications instantanément avec Wox sous Windows

Comment lancer des applications instantanément avec Wox sous Windows

Découvrez comment utiliser Wox pour lancer vos applications, exécuter des commandes et plus encore, instantanément.

Comment créer un cercle jaune autour du pointeur de la souris sous Windows

Comment créer un cercle jaune autour du pointeur de la souris sous Windows

Découvrez comment créer un cercle jaune autour du pointeur de la souris pour le mettre en surbrillance sur Windows 10. Suivez ces étapes faciles pour améliorer votre expérience utilisateur.

Pourquoi ladresse IP de Localhost est-elle 127.0.0.1 ?

Pourquoi ladresse IP de Localhost est-elle 127.0.0.1 ?

Découvrez pourquoi l

Comment ajouter des raccourcis de dossiers au menu Démarrer sous Windows 11

Comment ajouter des raccourcis de dossiers au menu Démarrer sous Windows 11

Sous Windows 11, configurez facilement des raccourcis pour accéder rapidement à des dossiers spéciaux dans votre menu Démarrer.

8 façons de corriger lerreur Il ny a aucun élément de démarrage à afficher dans le Gestionnaire des tâches sous Windows

8 façons de corriger lerreur Il ny a aucun élément de démarrage à afficher dans le Gestionnaire des tâches sous Windows

Découvrez comment résoudre l

Comment utiliser un disque dur externe avec un Chromebook

Comment utiliser un disque dur externe avec un Chromebook

Découvrez comment utiliser un disque dur externe avec un Chromebook pour transférer et stocker vos fichiers en toute sécurité. Suivez nos étapes pour un usage optimal.

Comment activer une adresse MAC aléatoire pour le réseau WiFi sous Windows 10

Comment activer une adresse MAC aléatoire pour le réseau WiFi sous Windows 10

Dans ce guide, vous apprendrez les étapes pour toujours utiliser une adresse MAC aléatoire pour votre adaptateur WiFi sous Windows 10. Optimisez votre sécurité en ligne!

Instructions pour désinstaller Internet Explorer sous Windows 10

Instructions pour désinstaller Internet Explorer sous Windows 10

Découvrez comment désinstaller Internet Explorer 11 sur Windows 10 pour optimiser l'espace de votre disque dur.

Comment utiliser Smart Defrag pour défragmenter efficacement les disques durs

Comment utiliser Smart Defrag pour défragmenter efficacement les disques durs

Découvrez comment utiliser Smart Defrag, un logiciel de défragmentation de disque dur gratuit et efficace, pour améliorer les performances de votre ordinateur.

Comment partager un VPN via un point daccès WiFi depuis un ordinateur portable

Comment partager un VPN via un point daccès WiFi depuis un ordinateur portable

Le moyen le plus simple de déverrouiller du contenu et de protéger tous les appareils avec un VPN crypté est de partager la connexion VPN via un point d