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


Installer dynamiske skærme og animerede baggrunde på Windows

Installer dynamiske skærme og animerede baggrunde på Windows

I Microsofts Windows Vista-operativsystem tillod DreamScene opsætning af dynamiske baggrunde til computere, men otte år senere er det stadig ikke tilgængeligt på Windows 10. Hvorfor har denne skik repræsenteret et tilbagevenden til fortiden gennem årene, og hvad kan vi gøre for at ændre dette?

Sådan forbinder du netværket mellem 2 bærbare computere ved hjælp af et netværkskabel

Sådan forbinder du netværket mellem 2 bærbare computere ved hjælp af et netværkskabel

Hvis vi vil forbinde to bærbare computere til netværket, kan vi bruge et netværkskabel og så ændre IP-adresserne på de to computere, og det er det.

Sådan repareres Du har ikke tilladelse til at gemme på denne placering på Windows

Sådan repareres Du har ikke tilladelse til at gemme på denne placering på Windows

Når Windows viser fejlen "Du har ikke tilladelse til at gemme på denne placering", vil dette forhindre dig i at gemme filer i ønskede mapper.

Top bedste gratis og betalte Syslog Server-software til Windows

Top bedste gratis og betalte Syslog Server-software til Windows

Syslog Server er en vigtig del af en IT-administrators arsenal, især når det kommer til at administrere hændelseslogfiler på en central placering.

Hvad er fejl 524 Der opstod en timeout, og hvordan rettes fejlen

Hvad er fejl 524 Der opstod en timeout, og hvordan rettes fejlen

Fejl 524: En timeout opstod er en Cloudflare-specifik HTTP-statuskode, der angiver, at forbindelsen til serveren blev lukket på grund af en timeout.

Hvad er fejl 0x80070570? Hvordan rettes denne fejl?

Hvad er fejl 0x80070570? Hvordan rettes denne fejl?

Fejlkode 0x80070570 er en almindelig fejlmeddelelse på computere, bærbare computere og tablets, der kører operativsystemet Windows 10. Den vises dog også på computere, der kører Windows 8.1, Windows 8, Windows 7 eller tidligere.

Instruktioner til at rette den blå skærm-fejl SIDEFEJL I IKKE PAGET OMRÅDE eller STOP 0x00000050

Instruktioner til at rette den blå skærm-fejl SIDEFEJL I IKKE PAGET OMRÅDE eller STOP 0x00000050

Blue screen of death fejl BSOD PAGE_FAULT_IN_NONPAGED_AREA eller STOP 0x00000050 er en fejl, der ofte opstår efter installation af en hardwareenhedsdriver eller efter installation eller opdatering af en ny software, og i nogle tilfælde skyldes årsagen, at fejlen skyldes en korrupt NTFS-partition.

Hvad skal du gøre, når du får Video Scheduler Intern Error?

Hvad skal du gøre, når du får Video Scheduler Intern Error?

Video Scheduler Internal Error er også en dødbringende blå skærm-fejl, denne fejl opstår ofte på Windows 10 og Windows 8.1. Denne artikel vil vise dig nogle måder at rette denne fejl på.

Sådan forhindrer du Epic Launcher i at starte med Windows

Sådan forhindrer du Epic Launcher i at starte med Windows

For at få Windows 10 til at starte hurtigere og reducere opstartstiden er nedenstående trin, du skal følge for at fjerne Epic fra Windows Startup og forhindre Epic Launcher i at starte med Windows 10.

3 bedre måder at gemme filer på skrivebordet

3 bedre måder at gemme filer på skrivebordet

Du bør ikke gemme filer på skrivebordet. Der er bedre måder at gemme computerfiler og holde dit skrivebord ryddeligt. Den følgende artikel viser dig mere effektive steder at gemme filer på Windows 10.