Come creare un server Web di base utilizzando Go

Come creare un server Web di base utilizzando Go

Go è un interessante linguaggio di programmazione per la creazione di moderne applicazioni web e software di sistema. Ha creato un enorme entusiasmo dopo il suo rilascio e alimenta servizi come Docker, Kubernetes, Terraform, Dropbox e Netflix .

Inoltre, la solida raccolta di pacchetti integrati di Go lo rende un'ottima scelta per la programmazione web. Questo articolo ti mostrerà come scrivere un server web di base in Go.

Importa i pacchetti necessari

Il pacchetto net/HTTP fornisce tutto il necessario per creare un server web e un client. Questo pacchetto presenta alcune funzioni utili per gestire la programmazione web.

Puoi importarlo aggiungendo la riga seguente all'inizio del codice sorgente:

import "net/http"

L'articolo utilizzerà anche il pacchetto fmt per formattare le stringhe e il pacchetto log per gestire gli errori. Puoi importarli singolarmente come mostrato sopra oppure importare tutti i pacchetti utilizzando un'unica istruzione di importazione:

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

Puoi procedere con la scrittura della funzione main dopo aver importato i pacchetti necessari. Vai avanti e salva il file sorgente con l' estensione .go . Se stai usando Vim , usa il comando seguente per salvare e uscire da Vim:

:wq server.go

Scrivi la funzione principale

I programmi Go risiedono direttamente all'interno della funzione main, giustamente chiamata "main". Dovrai effettuare una chiamata al server qui. Aggiungi le seguenti righe al codice sorgente e guarda cosa fanno:

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

L'esempio definisce la funzione main utilizzando la parola chiave func . Go ha regole rigide sulla posizione della parentesi graffa di apertura, quindi assicurati che la graffa iniziale sia sulla linea corretta. La prima istruzione in main definisce che tutte le richieste web al percorso root ( "/" ) saranno gestite da index, una funzione di tipo http.HandlerFunc .

La seconda riga avvia il server web tramite la funzione http.ListenAndServe . Segnala al server di ascoltare continuamente le richieste HTTP in entrata sulla porta 8080 del server. Il secondo parametro di questa funzione serve per bloccare il programma fino alla fine.

Poiché http.ListenAndServe restituisce sempre un errore, l'esempio racchiude questa chiamata all'interno di una chiamata log.Fatal . Questa istruzione registra eventuali messaggi di errore generati sul lato server.

Implementare funzioni di elaborazione

Come puoi vedere, la funzione main chiama l'indice della funzione del gestore per gestire le richieste del client. Tuttavia, l'esempio non ha ancora definito questa funzionalità per il proprio server.

Aggiungiamo le istruzioni necessarie per rendere utilizzabile la funzione indice:

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

Questa funzione accetta due argomenti diversi di tipo http.ResponseWriter e http.Request . Il parametro http.ResponseWriter contiene la risposta del server alla richiesta in arrivo, sotto forma di oggetto http.Request .

La funzione Fprintf del pacchetto fmt viene utilizzata per visualizzare e manipolare stringhe di testo. L'articolo lo utilizza per visualizzare la risposta del server alle richieste web. Infine, l'elemento r.URL.Path[1:] viene utilizzato per recuperare i dati dopo il percorso root.

Aggiungi tutte le parti rimanenti

Il tuo server web Go sarà pronto una volta aggiunti tutti i componenti rimanenti. Il codice sarà simile al seguente:

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

La prima riga è necessaria per compilare il codice del server web Go come file eseguibile.

Come creare un server Web di base utilizzando Go

Compila questo codice del server web Go come file eseguibile


Cosa fare se la connessione Ethernet continua a interrompersi su Windows 10/11?

Cosa fare se la connessione Ethernet continua a interrompersi su Windows 10/11?

La tua connessione Ethernet a volte può frustrarti disconnettendoti senza motivo apparente sul tuo PC Windows 10 o 11.

È possibile accedere da remoto al computer quando è spento?

È possibile accedere da remoto al computer quando è spento?

Qualcuno può accedere al tuo dispositivo anche quando è spento? La risposta spaventosa è sì.

I 10 migliori fornitori di certificati SSL economici al mondo nel 2024

I 10 migliori fornitori di certificati SSL economici al mondo nel 2024

I certificati SSL aiutano a mantenere al sicuro le informazioni sensibili dei clienti e a creare un ambiente protetto per il tuo business online.

Come modificare la banda di frequenza preferita per ladattatore di rete wireless in Windows

Come modificare la banda di frequenza preferita per ladattatore di rete wireless in Windows

Questa guida ti mostrerà come modificare la banda di frequenza preferita (a 5 GHz o 2,4 GHz) da utilizzare per impostazione predefinita per l'adattatore di rete wireless in Windows 7, Windows 8 e Windows 10.

Che cosè laffinità del processore? Come impostare laffinità del processore su Windows 10

Che cosè laffinità del processore? Come impostare laffinità del processore su Windows 10

Tuttavia, è possibile impostare programmi in modo che utilizzino solo 1 o 2 core anziché tutti i core. In questo post, Quantrimang.com spiegherà cos'è l'affinità del processore e come impostare l'affinità del processore su Windows 10.

Le VPN con la peggiore protezione della privacy dovrebbero essere evitate

Le VPN con la peggiore protezione della privacy dovrebbero essere evitate

La crescente popolarità della tecnologia VPN ha portato a una serie di truffe di varia portata, metodo e audacia.

Come bloccare da remoto il PC su Windows 10

Come bloccare da remoto il PC su Windows 10

Windows 10 ha una funzionalità interessante che ti consente non solo di tenere traccia del tuo dispositivo, ma anche di bloccarlo da remoto.

Come utilizzare SpyHunter per rimuovere spyware e prevenire i keylogger

Come utilizzare SpyHunter per rimuovere spyware e prevenire i keylogger

SpyHunter è un software che cerca e distrugge malware, spyware e anti-keylogger sui computer.

Prova Utilizzo Disco, il nuovo strumento di analisi della capacità del disco rigido su Windows 10

Prova Utilizzo Disco, il nuovo strumento di analisi della capacità del disco rigido su Windows 10

L'utilizzo del disco si trova in C:\Windows\System32\diskusage.exe e verranno visualizzate le istruzioni sull'utilizzo quando si immette diskusage /?. Questa utility può eseguire la scansione di intere unità o cartelle specifiche e segnalare quanto è in uso ciascuna cartella.

Come installare il tema Moon Knight su Windows 10/11

Come installare il tema Moon Knight su Windows 10/11

Il set di temi Moon Knight è di altissima qualità, degno di essere installato immediatamente sul tuo computer.