So erstellen Sie einen einfachen Webserver mit Go

So erstellen Sie einen einfachen Webserver mit Go

Go ist eine interessante Programmiersprache zum Erstellen moderner Webanwendungen sowie Systemsoftware. Nach seiner Veröffentlichung sorgte es für großes Aufsehen und unterstützt Dienste wie Docker, Kubernetes, Terraform, Dropbox und Netflix .

Darüber hinaus ist Go aufgrund seiner umfangreichen Sammlung integrierter Pakete eine hervorragende Wahl für die Webprogrammierung. In diesem Artikel erfahren Sie, wie Sie einen einfachen Webserver in Go schreiben.

Importieren Sie die erforderlichen Pakete

Das net/HTTP-Paket bietet alles, was zum Erstellen eines Webservers und Clients erforderlich ist. Dieses Paket enthält einige nützliche Funktionen für die Webprogrammierung.

Sie können es importieren, indem Sie die folgende Zeile am Anfang Ihres Quellcodes hinzufügen:

import "net/http"

Der Artikel verwendet außerdem das FMT- Paket zum Formatieren von Zeichenfolgen und das Protokollpaket zum Behandeln von Fehlern. Sie können sie wie oben gezeigt einzeln importieren oder alle Pakete mit einer einzigen Importanweisung importieren:

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

Sie können mit dem Schreiben der Hauptfunktion fortfahren, nachdem Sie die erforderlichen Pakete importiert haben. Fahren Sie fort und speichern Sie die Quelldatei mit der Erweiterung .go . Wenn Sie Vim verwenden , verwenden Sie den folgenden Befehl, um Vim zu speichern und zu beenden:

:wq server.go

Schreiben Sie die Hauptfunktion

Go-Programme befinden sich direkt in der Hauptfunktion, die treffend „main“ genannt wird. Hier müssen Sie einen Serveraufruf durchführen . Fügen Sie die folgenden Zeilen zum Quellcode hinzu und sehen Sie, was sie bewirken:

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

Das Beispiel definiert die Hauptfunktion mit dem Schlüsselwort func . Go hat strenge Regeln für die Position der Eröffnungsklammer. Stellen Sie daher sicher, dass die Startklammer auf der richtigen Linie liegt. Die erste Anweisung in main definiert, dass alle Webanfragen an den Stammpfad ( „/“ ) vom Index verarbeitet werden, einer Funktion vom Typ http.HandlerFunc .

Die zweite Zeile startet den Webserver über die Funktion http.ListenAndServe . Es signalisiert dem Server, kontinuierlich auf eingehende HTTP-Anfragen am Port 8080 des Servers zu warten. Der zweite Parameter dieser Funktion wird benötigt, um das Programm bis zum Ende zu blockieren.

Da http.ListenAndServe immer einen Fehler zurückgibt, schließt das Beispiel diesen Aufruf in einen log.Fatal- Aufruf ein . Diese Anweisung protokolliert alle serverseitig generierten Fehlermeldungen.

Verarbeitungsfunktionen implementieren

Wie Sie sehen können, ruft die Hauptfunktion den Handler-Funktionsindex auf, um Clientanforderungen zu verarbeiten. Das Beispiel hat diese Funktionalität jedoch noch nicht für seinen Server definiert.

Fügen wir die notwendigen Anweisungen hinzu, um die Indexfunktion nutzbar zu machen:

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

Diese Funktion benötigt zwei verschiedene Argumente vom Typ http.ResponseWriter und http.Request . Der Parameter http.ResponseWriter enthält die Antwort des Servers auf die eingehende Anfrage in Form eines http.Request- Objekts .

Die Funktion Fprintf aus dem fmt- Paket dient der Anzeige und Bearbeitung von Textzeichenfolgen. Der Artikel verwendet dies, um die Antwort des Servers auf Webanfragen anzuzeigen. Schließlich wird das Element r.URL.Path[1:] verwendet, um Daten nach dem Stammpfad abzurufen.

Fügen Sie alle restlichen Teile hinzu

Ihr Go-Webserver ist bereit, sobald Sie alle verbleibenden Komponenten hinzugefügt haben. Der Code sieht folgendermaßen aus:

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))
}

Die erste Zeile wird benötigt, um diesen Go-Webservercode als ausführbare Datei zu kompilieren.

So erstellen Sie einen einfachen Webserver mit Go

Kompilieren Sie diesen Go-Webservercode als ausführbare Datei


So aktivieren Sie Ultimate Performance, um die Leistung unter Windows 10/11 zu optimieren

So aktivieren Sie Ultimate Performance, um die Leistung unter Windows 10/11 zu optimieren

Microsoft hat dem Windows 10 Update im April 2018 eine Funktion namens Ultimate Performance hinzugefügt. Es ist verständlich, dass es sich dabei um eine Funktion handelt, die dem System hilft, in den Hochleistungs-Arbeitsmodus zu wechseln.

So installieren Sie ein neues Datei-Explorer-Symbolset wie Windows 10 Sun Valley

So installieren Sie ein neues Datei-Explorer-Symbolset wie Windows 10 Sun Valley

Wenn Ihnen das neue Symbol für den Datei-Explorer wie Windows 10 Sun Valley gefällt, folgen Sie dem folgenden Artikel, um die völlig neue Benutzeroberfläche für den Datei-Explorer zu ändern.

So testen Sie die Windows 10-Webcam

So testen Sie die Windows 10-Webcam

Die Überprüfung, ob die Webcam auf einem Windows-Computer ordnungsgemäß funktioniert, ist schnell und einfach. Im Folgenden finden Sie die Schritte, die Ihnen bei der Überprüfung der Kamera helfen.

So testen Sie das Mikrofon in Windows 10

So testen Sie das Mikrofon in Windows 10

Möglicherweise haben Sie hochwertige Kopfhörer angeschlossen, aber aus irgendeinem Grund versucht der Windows-Laptop ständig, mit seinem schrecklichen eingebauten Mikrofon aufzunehmen. Im folgenden Artikel erfahren Sie, wie Sie das Windows 10-Mikrofon testen.

So entfernen Sie Scan with Malwarebytes aus dem Rechtsklick-Menü

So entfernen Sie Scan with Malwarebytes aus dem Rechtsklick-Menü

Wenn Sie es nicht mehr benötigen, können Sie die Option „Mit Malwarebytes scannen“ aus dem Kontextmenü mit der rechten Maustaste entfernen. Hier ist wie.

Erfahren Sie mehr über das Border Gateway Protocol (BGP)

Erfahren Sie mehr über das Border Gateway Protocol (BGP)

Das Border Gateway Protocol (BGP) dient zum Austausch von Routing-Informationen für das Internet und ist das zwischen ISPs (unterschiedliche ASs) verwendete Protokoll.

So erstellen Sie Ihre eigene Hackdatei für die Windows-Registrierung

So erstellen Sie Ihre eigene Hackdatei für die Windows-Registrierung

Wenn Sie Tipps lesen, sehen Sie, dass Leute häufig Registrierungs-Hackdateien verwenden, um Windows-Computer anzupassen und zu optimieren, und sich fragen, wie man sie erstellt. Dieser Artikel führt Sie durch die grundlegenden Schritte zum Erstellen Ihrer eigenen Registry-Hack-Datei.

So aktivieren Sie die automatische Registrierungssicherung in Windows 10

So aktivieren Sie die automatische Registrierungssicherung in Windows 10

Früher hat Microsoft die Registrierung automatisch gesichert, aber diese Funktion wurde in Windows 10 stillschweigend deaktiviert. In diesem Artikel führt Sie Quantrimang.com durch die Schritte zum automatischen Sichern der Registrierung in einem Ordner. RegBack (Windows\System32\config \RegBack) unter Windows 10.

So machen Sie eine Aktion auf einem Windows-PC rückgängig

So machen Sie eine Aktion auf einem Windows-PC rückgängig

Bei der Nutzung eines Computers ist es völlig normal, Fehler zu machen.

Was tun, wenn die Ethernet-Verbindung unter Windows 10/11 immer wieder unterbrochen wird?

Was tun, wenn die Ethernet-Verbindung unter Windows 10/11 immer wieder unterbrochen wird?

Ihre Ethernet-Verbindung kann Sie manchmal frustrieren, wenn sie auf Ihrem Windows 10- oder 11-PC ohne ersichtlichen Grund getrennt wird.