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


Undervolt-Anweisungen reduzieren die CPU-Temperatur

Undervolt-Anweisungen reduzieren die CPU-Temperatur

Je mehr Arbeit Sie an Ihrem Computer erledigen, desto stärker erwärmt sich Ihre CPU (Prozessor), insbesondere bei intensiven Spielen oder Videobearbeitung. Es ist wahrscheinlicher, dass Ihre CPU überhitzt, wenn das Belüftungssystem schlecht funktioniert oder die Wärmeleitpaste auf dem Chip abgenutzt ist. Es gibt jedoch einen Prozess namens „Undervolting“, der Ihnen dabei helfen kann, die Prozessortemperatur zu senken.

So legen Sie Bing Daily Images als Windows 10-Hintergrundbild und Sperrbildschirm fest

So legen Sie Bing Daily Images als Windows 10-Hintergrundbild und Sperrbildschirm fest

Microsoft ermöglicht Ihnen, Bing-Bilder kostenlos herunterzuladen und auf Ihrem System zu verwenden. So legen Sie Bing Daily Images als Hintergrundbild, Sperrbildschirm und Anmeldebildschirm unter Windows 10 fest.

Warum befindet sich auf dem Laufwerk ein Schlosssymbol und wie kann ich es entfernen?

Warum befindet sich auf dem Laufwerk ein Schlosssymbol und wie kann ich es entfernen?

Fragen Sie sich, warum im Datei-Explorer ein Schlosssymbol auf dem Laufwerk angezeigt wird? Im folgenden Artikel wird erläutert, was dieses Symbol ist und wie Sie das Schlosssymbol vom Laufwerk in Windows 10 entfernen.

So fügen Sie das Kontextmenü „Im Windows-Terminal öffnen“ in Windows 10 hinzu bzw. entfernen es

So fügen Sie das Kontextmenü „Im Windows-Terminal öffnen“ in Windows 10 hinzu bzw. entfernen es

Sobald Sie Windows Terminal installiert haben, wird dem Kontextmenü der Ordner im Datei-Explorer der Eintrag „In Windows Terminal öffnen“ hinzugefügt. Wenn Sie mit dieser Option nicht zufrieden sind, erfahren Sie hier, wie Sie sie aus dem Kontextmenü entfernen.

Was ist ein Man-in-the-Disk-Angriff?

Was ist ein Man-in-the-Disk-Angriff?

Diese Sicherheitslücke ermöglicht es Eindringlingen, die Kontrolle über legitime Anwendungen auf Ihrem Android-Gerät zu übernehmen und diese zum Einschleusen schädlicher Anwendungen zu nutzen.

So deaktivieren Sie die Hintergrundunschärfe des Anmeldebildschirms unter Windows 10

So deaktivieren Sie die Hintergrundunschärfe des Anmeldebildschirms unter Windows 10

Ab dem Windows 10-Update vom Mai 2019 verwendet der Anmeldebildschirm ein unscharfes Fluent-Design-Fieber. Wenn Sie ein klares Hintergrundbild für den Sperrbildschirm wünschen, erfahren Sie hier, wie Sie die Hintergrundunschärfe deaktivieren.

9 Dinge, die Sie niemals tun sollten, wenn Sie öffentliches WLAN nutzen

9 Dinge, die Sie niemals tun sollten, wenn Sie öffentliches WLAN nutzen

Der beste Weg, um bei der Nutzung von öffentlichem WLAN sicher zu bleiben, besteht darin, alles zu vermeiden, was Hackern das verschaffen könnte, wonach sie suchen.

So installieren Sie die Dark Mode-Schnittstelle für jeden Windows 10-Bildschirm

So installieren Sie die Dark Mode-Schnittstelle für jeden Windows 10-Bildschirm

Der Dunkelmodus ist eine Benutzeroberfläche mit dunklem Hintergrund unter Windows 10, die dem Computer hilft, Akkustrom zu sparen und die Auswirkungen auf die Augen des Benutzers zu verringern.

Welche Sicherheitsmaßnahmen sollten beim Online-Bezahlen von Rechnungen angewendet werden?

Welche Sicherheitsmaßnahmen sollten beim Online-Bezahlen von Rechnungen angewendet werden?

Die Online-Zahlung Ihrer Rechnungen ist eine bequeme Möglichkeit, Ihren Verpflichtungen gegenüber Dienstleistern nachzukommen. Allerdings birgt diese Option einige Risiken für die Zahlungssicherheit.

Wunderschöne Doraemon-Hintergrundbilder für Computer und Telefone

Wunderschöne Doraemon-Hintergrundbilder für Computer und Telefone

Hier finden Sie Doraemon-Hintergrundbilder für Smartphones und Computer mit vielen verschiedenen Farben und Auflösungen.