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 blockieren Sie den Internetzugriff mithilfe von Gruppenrichtlinien (GPO)

So blockieren Sie den Internetzugriff mithilfe von Gruppenrichtlinien (GPO)

In diesem Artikel erfahren Sie, wie Sie den Internetzugriff für Benutzer oder Computer im Active Directory-Gruppenrichtlinienobjekt blockieren. Lernen Sie effektive Methoden, moderne Sicherheitsprotokolle und Best Practices kennen.

Warum müssen wir USB formatieren? Wie formatiere ich USB?

Warum müssen wir USB formatieren? Wie formatiere ich USB?

Das Formatieren eines USB-Sticks ähnelt dem Formatieren jedes anderen Laufwerks. Hier erfahren Sie, warum und wie Sie USB formatieren sollten, um optimale Ergebnisse zu erzielen.

Beheben Sie den Fehler „Game Security Violation Detected“ in Windows 10

Beheben Sie den Fehler „Game Security Violation Detected“ in Windows 10

Wenn beim Starten eines Spiels unter Windows 10 der Fehler „Game Security Violation Detected“ angezeigt wird, sind die Lösungen einfach und effektiv. Hier erfahren Sie, wie Sie dieses Problem beheben können.

So wechseln Sie die Lautsprecher mit Tastenkombinationen unter Windows 10

So wechseln Sie die Lautsprecher mit Tastenkombinationen unter Windows 10

Wechseln Sie mühelos zwischen Audiogeräten unter Windows 10 mit Tastenkombinationen. Erfahren Sie, wie Sie den Audio-Umschalter effizient nutzen.

8 Möglichkeiten, MSConfig in Windows 11 zu öffnen

8 Möglichkeiten, MSConfig in Windows 11 zu öffnen

Entdecken Sie 8 einfache Möglichkeiten, MSConfig in Windows 11 zu öffnen, um zahlreiche Probleme effizient zu beheben.

4 gefälschte Viren, die zum Spaß Freunde trollen

4 gefälschte Viren, die zum Spaß Freunde trollen

Freunde und Familienmitglieder zu trollen macht Spaß mit diesen harmlosen gefälschten Viren. Hier sind vier kreative Ideen, um Ihre Freunde zum Lachen zu bringen.

Unterschied zwischen Virtualisierung und Emulation

Unterschied zwischen Virtualisierung und Emulation

Entdecken Sie die Unterschiede zwischen Virtualisierung und Emulation sowie deren Vor- und Nachteile. Erfahren Sie, wie diese Technologien in modernen IT-Umgebungen eingesetzt werden.

So aktivieren oder deaktivieren Sie Device Guard unter Windows 10

So aktivieren oder deaktivieren Sie Device Guard unter Windows 10

Device Guard ist ein wichtiges Sicherheitsfeature in Windows 10, das sicherstellt, dass nur vertrauenswürdige Anwendungen ausgeführt werden. So aktivieren oder deaktivieren Sie es.

So verwenden Sie vDOS, um alte DOS-Programme unter Windows 10 auszuführen

So verwenden Sie vDOS, um alte DOS-Programme unter Windows 10 auszuführen

Erfahren Sie, wie Sie vDOS verwenden, um alte DOS-Software unter Windows 10 auszuführen. Dieser Emulator ist ideal für die Nutzung älterer Programme, bietet jedoch keine optimale Lösung für Spiele.

3 Möglichkeiten, USB Selective Suspend in Windows 11 zu deaktivieren

3 Möglichkeiten, USB Selective Suspend in Windows 11 zu deaktivieren

Wenn Sie Probleme mit USB-Geräten auf Ihrem Windows 11-Computer haben, sollten Sie die Funktion „USB Selective Suspend“ deaktivieren.