Sådan bygger du en grundlæggende webserver ved hjælp af Go

Sådan bygger du en grundlæggende webserver ved hjælp af Go

Go er et interessant programmeringssprog til at bygge moderne webapplikationer såvel som systemsoftware. Det skabte et stort buzz efter dets udgivelse og driver tjenester som Docker, Kubernetes, Terraform, Dropbox og Netflix .

Ydermere gør Gos robuste samling af indbyggede pakker det til et godt valg til webprogrammering. Denne artikel viser dig, hvordan du skriver en grundlæggende webserver i Go.

Importer de nødvendige pakker

Net/HTTP-pakken giver alt det nødvendige for at oprette en webserver og klient. Denne pakke præsenterer nogle nyttige funktioner til at håndtere webprogrammering.

Du kan importere den ved at tilføje linjen nedenfor til begyndelsen af ​​din kildekode:

import "net/http"

Artiklen vil også bruge fmt -pakken til at formatere strenge og log- pakken til at håndtere fejl. Du kan importere dem individuelt som vist ovenfor, eller importere alle pakkerne ved hjælp af en enkelt importerklæring:

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

Du kan fortsætte med at skrive hovedfunktionen efter import af de nødvendige pakker. Gå videre og gem kildefilen med .go- udvidelsen . Hvis du bruger Vim , skal du bruge kommandoen nedenfor til at gemme og afslutte Vim:

:wq server.go

Skriv hovedfunktionen

Go-programmer ligger direkte i hovedfunktionen, passende kaldet "main". Du skal foretage et serveropkald her . Tilføj følgende linjer til kildekoden og se, hvad de gør:

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

Eksemplet definerer hovedfunktionen ved hjælp af nøgleordet func . Go har strenge regler om placeringen af ​​åbningsbøjlen, så sørg for, at startbøjlen er på den rigtige linje. Den første sætning i main definerer, at alle webanmodninger til rodstien ( "/" ) vil blive håndteret af indeks, en funktion af typen http.HandlerFunc .

Den anden linje starter webserveren via http.ListenAndServe -funktionen . Det signalerer serveren til løbende at lytte efter indgående HTTP-anmodninger på serverens port 8080. Den anden parameter i denne funktion er nødvendig for at blokere programmet indtil slutningen.

Da http.ListenAndServe altid returnerer en fejl, omslutter eksemplet dette opkald i en log.Fatal call . Denne erklæring logger eventuelle fejlmeddelelser genereret på serversiden.

Implementere behandlingsfunktioner

Som du kan se, kalder hovedfunktionen handlerfunktionsindekset for at håndtere klientanmodninger. Eksemplet har dog endnu ikke defineret denne funktionalitet for sin server.

Lad os tilføje de nødvendige udsagn for at gøre indeksfunktionen brugbar:

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

Denne funktion tager to forskellige argumenter af typen http.ResponseWriter og http.Request . http.ResponseWriter- parameteren indeholder serverens svar på den indgående anmodning i form af et http.Request- objekt .

Funktionen Fprintf fra fmt- pakken bruges til at vise og manipulere tekststrenge. Artiklen bruger dette til at vise serverens svar på webanmodninger. Endelig bruges r.URL.Path[1:]- elementet til at hente data efter rodstien.

Tilføj alle de resterende dele

Din Go-webserver vil være klar, når du har tilføjet alle de resterende komponenter. Koden vil se sådan ud:

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

Den første linje er nødvendig for at kompilere denne Go-webserverkode som en eksekverbar fil.

Sådan bygger du en grundlæggende webserver ved hjælp af Go

Kompiler denne Go-webserverkode som en eksekverbar fil


Lær om firewalls, Windows Firewall på Windows Server 2012

Lær om firewalls, Windows Firewall på Windows Server 2012

Windows Firewall med avanceret sikkerhed er en firewall, der kører på Windows Server 2012 og er aktiveret som standard. Firewall-indstillinger i Windows Server 2012 administreres i Windows Firewall Microsoft Management Console.

Sådan ændres Vigor Draytek modem og router login adgangskode

Sådan ændres Vigor Draytek modem og router login adgangskode

Når du ændrer adgangskoden til Vigor Draytek-modem- og router-login-admin-siden, vil brugere begrænse uautoriseret adgang til at ændre modem-adgangskoden, hvilket sikrer vigtige netværksoplysninger.

Sådan overclocker du nemt RAM med AMD Ryzen Master

Sådan overclocker du nemt RAM med AMD Ryzen Master

Heldigvis kan brugere af Windows-computere, der kører AMD Ryzen-processorer, bruge Ryzen Master til nemt at overclocke RAM uden at røre BIOS.

7 måder at rette Windows laptop fejl, der ikke oplades via USB-C

7 måder at rette Windows laptop fejl, der ikke oplades via USB-C

USB-C-porten er blevet standarden for dataoverførsel, videooutput og opladning på moderne Windows-bærbare computere. Selvom dette er praktisk, kan det være frustrerende, når du tilslutter din bærbare computer til en USB-C-oplader, og den ikke oplader.

Sådan rettes fejlen Kan ikke oprette tjeneste på Ultraviewer

Sådan rettes fejlen Kan ikke oprette tjeneste på Ultraviewer

Fejlen Kan ikke oprette tjeneste på Ultraviewer opstår, når vi installerer softwaren med fejlkode 1072.

Sådan rettes fejlen med ikke at vise ID på Ultraviewer

Sådan rettes fejlen med ikke at vise ID på Ultraviewer

Fejlen med ikke at vise ID på Ultraviewer vil påvirke fjerncomputerforbindelsen.

Sådan bruger du Ultraviewer til at sende og modtage filer

Sådan bruger du Ultraviewer til at sende og modtage filer

Ultraviewer fjernstyrer computeren og har en tilstand til at sende og modtage filer.

6 måder at slette filer på Windows permanent

6 måder at slette filer på Windows permanent

Normalt, når du sletter en fil på Windows, slettes filen ikke med det samme, men gemmes i papirkurven. Derefter skal du gøre et trin mere: tøm papirkurven. Men hvis du ikke ønsker at skulle gøre dette andet trin, vil vi vise dig, hvordan du permanent sletter en fil i artiklen nedenfor.

Hvordan påvirker det mørke web sikkerheden?

Hvordan påvirker det mørke web sikkerheden?

Det mørke web er et mystisk sted med et berømt ry. Det er ikke svært at finde det mørke web. Men at lære at navigere sikkert er en anden sag, især hvis du ikke ved, hvad du laver, eller hvad du kan forvente.

Hvad er Adrozek virus? Sådan beskytter du dig selv mod Adrozek-virus

Hvad er Adrozek virus? Sådan beskytter du dig selv mod Adrozek-virus

Teknisk set er Adrozek ikke en virus. Det er en browser hijacker, også kendt som browser modifier. Det betyder, at malware blev installeret på din computer uden din viden.