Hvordan bygge en grunnleggende webserver ved å bruke Go

Hvordan bygge en grunnleggende webserver ved å bruke Go

Go er et interessant programmeringsspråk for å bygge moderne webapplikasjoner så vel som systemprogramvare. Det skapte en enorm buzz etter utgivelsen og driver tjenester som Docker, Kubernetes, Terraform, Dropbox og Netflix .

Videre gjør Gos robuste samling av innebygde pakker det til et godt valg for webprogrammering. Denne artikkelen vil vise deg hvordan du skriver en grunnleggende webserver i Go.

Importer de nødvendige pakkene

Nett/HTTP-pakken gir alt som trengs for å lage en webserver og klient. Denne pakken presenterer noen nyttige funksjoner for å håndtere webprogrammering.

Du kan importere den ved å legge til linjen nedenfor i begynnelsen av kildekoden:

import "net/http"

Artikkelen vil også bruke fmt -pakken til å formatere strenger og loggpakken for å håndtere feil. Du kan importere dem individuelt som vist ovenfor, eller importere alle pakkene ved å bruke en enkelt importerklæring:

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

Du kan fortsette med å skrive hovedfunksjonen etter å ha importert de nødvendige pakkene. Fortsett og lagre kildefilen med .go -utvidelsen . Hvis du bruker Vim , bruk kommandoen nedenfor for å lagre og avslutte Vim:

:wq server.go

Skriv hovedfunksjonen

Go-programmer ligger direkte i hovedfunksjonen, passende kalt "hoved". Du må foreta et serveranrop her . Legg til følgende linjer i kildekoden og se hva de gjør:

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

Eksemplet definerer hovedfunksjonen ved å bruke nøkkelordet func . Go har strenge regler for plassering av åpningsbøylen, så sørg for at startbøylen er på riktig linje. Den første setningen i main definerer at alle nettforespørsler til rotbanen ( "/" ) vil bli håndtert av indeks, en funksjon av typen http.HandlerFunc .

Den andre linjen starter webserveren via http.ListenAndServe -funksjonen . Det signaliserer serveren til kontinuerlig å lytte etter innkommende HTTP-forespørsler på serverens port 8080. Den andre parameteren i denne funksjonen er nødvendig for å blokkere programmet til slutten.

Siden http.ListenAndServe alltid returnerer en feil, legger eksemplet denne samtalen inn i en log.Fatal call . Denne setningen logger eventuelle feilmeldinger generert på serversiden.

Implementere behandlingsfunksjoner

Som du kan se, kaller hovedfunksjonen behandlerfunksjonsindeksen for å håndtere klientforespørsler. Eksemplet har imidlertid ennå ikke definert denne funksjonaliteten for serveren.

La oss legge til de nødvendige setningene for å gjøre indeksfunksjonen brukbar:

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

Denne funksjonen tar to forskjellige argumenter av typen http.ResponseWriter og http.Request . http.ResponseWriter - parameteren inneholder serverens svar på den innkommende forespørselen, i form av et http.Request- objekt .

Funksjonen Fprintf fra fmt -pakken brukes til å vise og manipulere tekststrenger. Artikkelen bruker dette til å vise serverens svar på nettforespørsler. Til slutt brukes r.URL.Path[1:]- elementet til å hente data etter rotbanen.

Legg til alle de resterende delene

Din Go-nettserver vil være klar når du har lagt til alle de gjenværende komponentene. Koden vil se slik ut:

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 linjen er nødvendig for å kompilere denne Go-nettserverkoden som en kjørbar fil.

Hvordan bygge en grunnleggende webserver ved å bruke Go

Kompiler denne Go-nettserverkoden som en kjørbar fil


Installer dynamiske skjermer og animerte bakgrunnsbilder på Windows

Installer dynamiske skjermer og animerte bakgrunnsbilder på Windows

I Microsofts Windows Vista-operativsystem tillot DreamScene å sette opp dynamiske bakgrunner for datamaskiner, men åtte år senere er det fortsatt ikke tilgjengelig på Windows 10. Hvorfor har denne skikken representert et tilbakeslag til fortiden gjennom årene, og hva kan vi gjøre for å endre dette?

Hvordan koble nettverket mellom 2 bærbare datamaskiner ved hjelp av en nettverkskabel

Hvordan koble nettverket mellom 2 bærbare datamaskiner ved hjelp av en nettverkskabel

Hvis vi ønsker å koble to bærbare datamaskiner til nettverket, kan vi bruke en nettverkskabel og deretter endre IP-adressene til de to datamaskinene og det er det.

Slik fikser du Du har ikke tillatelse til å lagre på denne plasseringen på Windows

Slik fikser du Du har ikke tillatelse til å lagre på denne plasseringen på Windows

Når Windows viser feilen "Du har ikke tillatelse til å lagre på denne plasseringen", vil dette forhindre deg i å lagre filer i ønskede mapper.

Topp beste gratis og betalte Syslog Server-programvare for Windows

Topp beste gratis og betalte Syslog Server-programvare for Windows

Syslog Server er en viktig del av en IT-administrators arsenal, spesielt når det gjelder å administrere hendelseslogger på et sentralisert sted.

Hva er Error 524 A Timeout Oppstod og hvordan fikse feilen

Hva er Error 524 A Timeout Oppstod og hvordan fikse feilen

Feil 524: En tidsavbrudd oppstod er en Cloudflare-spesifikk HTTP-statuskode som indikerer at tilkoblingen til serveren ble stengt på grunn av et tidsavbrudd.

Hva er feil 0x80070570? Hvordan fikser jeg denne feilen?

Hva er feil 0x80070570? Hvordan fikser jeg denne feilen?

Feilkode 0x80070570 er en vanlig feilmelding på datamaskiner, bærbare datamaskiner og nettbrett som kjører operativsystemet Windows 10. Den vises imidlertid også på datamaskiner som kjører Windows 8.1, Windows 8, Windows 7 eller tidligere.

Instruksjoner for å fikse blåskjerm-feilen SIDEFEIL I IKKE PAGET OMRÅDE eller STOPP 0x00000050

Instruksjoner for å fikse blåskjerm-feilen SIDEFEIL I IKKE PAGET OMRÅDE eller STOPP 0x00000050

Blue screen of death-feil BSOD PAGE_FAULT_IN_NONPAGED_AREA eller STOP 0x00000050 er en feil som ofte oppstår etter installasjon av en maskinvareenhetsdriver, eller etter installasjon eller oppdatering av ny programvare, og i noen tilfeller er årsaken at feilen skyldes en korrupt NTFS-partisjon.

Hva skal du gjøre når du får Video Scheduler Intern Error?

Hva skal du gjøre når du får Video Scheduler Intern Error?

Video Scheduler Intern Error er også en dødelig blåskjermfeil, denne feilen oppstår ofte på Windows 10 og Windows 8.1. Denne artikkelen vil vise deg noen måter å fikse denne feilen på.

Hvordan forhindre at Epic Launcher starter med Windows

Hvordan forhindre at Epic Launcher starter med Windows

For å få Windows 10 til å starte opp raskere og redusere oppstartstiden, nedenfor er trinnene du må følge for å fjerne Epic fra Windows Startup og forhindre at Epic Launcher starter med Windows 10.

3 bedre måter å lagre filer på skrivebordet

3 bedre måter å lagre filer på skrivebordet

Du bør ikke lagre filer på skrivebordet. Det finnes bedre måter å lagre datafiler på og holde skrivebordet ryddig. Den følgende artikkelen vil vise deg mer effektive steder å lagre filer på Windows 10.