Hogyan építsünk fel egy alapvető webszervert a Go segítségével

Hogyan építsünk fel egy alapvető webszervert a Go segítségével

A Go egy érdekes programozási nyelv modern webalkalmazások és rendszerszoftverek készítéséhez. Megjelenése után hatalmas felhajtást keltett, és olyan szolgáltatásokat nyújt, mint a Docker, a Kubernetes, a Terraform, a Dropbox és a Netflix .

Ezenkívül a Go robusztus beépített csomagkészlete nagyszerű választássá teszi webes programozáshoz. Ez a cikk bemutatja, hogyan írhat alapvető webszervert a Go-ban.

Importálja a szükséges csomagokat

A net/HTTP csomag mindent megad, ami egy webszerver és kliens létrehozásához szükséges. Ez a csomag néhány hasznos funkciót mutat be a webes programozás kezeléséhez.

Importálhatja az alábbi sort a forráskód elejéhez:

import "net/http"

A cikk az fmt csomagot is használja a karakterláncok formázásához és a naplócsomagot a hibák kezelésére. Importálhatja őket egyenként a fent látható módon, vagy importálhatja az összes csomagot egyetlen importálási utasítással:

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

A szükséges csomagok importálása után folytathatja a fő függvény írását. Mentse el a forrásfájlt .go kiterjesztéssel . Ha Vim-et használ , használja az alábbi parancsot a Vim mentéséhez és kilépéséhez:

:wq server.go

Írd le a fő függvényt!

A Go programok közvetlenül a fő funkción belül találhatók, amelyet találóan "fő"-nek neveznek. Itt szerverhívást kell indítania . Adja hozzá a következő sorokat a forráskódhoz, és nézze meg, mit csinálnak:

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

A példa a fő függvény meghatározása a func kulcsszó használatával . A Go-nak szigorú szabályok vonatkoznak a nyitómerevítő elhelyezésére, ezért ügyeljen arra, hogy a kezdőmerevítő a megfelelő vonalon legyen. A main első utasítása azt határozza meg, hogy a gyökérútvonalhoz ( "/" ) érkező összes webkérést index kezeli, amely a http.HandlerFunc típusú függvény .

A második sor elindítja a webszervert a http.ListenAndServe függvényen keresztül . Jelzi a szervernek, hogy folyamatosan figyelje a bejövő HTTP kéréseket a szerver 8080-as portján. Ennek a funkciónak a második paramétere szükséges a program blokkolásához a végéig.

Mivel a http.ListenAndServe mindig hibát ad vissza, a példa ezt a hívást egy naplóba csomagolja.Fatal call . Ez az utasítás naplózza a szerver oldalon generált hibaüzeneteket.

Valósítson meg feldolgozási funkciókat

Amint látható, a fő függvény meghívja a kezelő függvényindexet az ügyfélkérések kezelésére. A példa azonban még nem definiálta ezt a funkciót a szerveréhez.

Adjuk hozzá a szükséges utasításokat, hogy használható legyen az indexfüggvény:

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

Ez a függvény két különböző http.ResponseWriter és http.Request típusú argumentumot vesz igénybe . A http.ResponseWriter paraméter tartalmazza a szerver válaszát a bejövő kérésre, egy http.Request objektum formájában .

Az fmt csomagból származó Fprintf függvény a szöveges karakterláncok megjelenítésére és kezelésére szolgál. A cikk ezt használja a szerver webes kérésekre adott válaszainak megjelenítésére. Végül az r.URL.Path[1:] elem a gyökérútvonal utáni adatok lekérésére szolgál.

Adja hozzá az összes többi részt

A Go webszervere készen áll, miután hozzáadta az összes többi összetevőt. A kód így fog kinézni:

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

Az első sor szükséges ahhoz, hogy ezt a Go webszerver kódot futtatható fájlként lefordítsák.

Hogyan építsünk fel egy alapvető webszervert a Go segítségével

Fordítsa le ezt a Go webszerver kódot futtatható fájlként


Állítsa be a Linksys útválasztót statikus IP-címmel

Állítsa be a Linksys útválasztót statikus IP-címmel

A statikus IP-cím a számítógép vagy az útválasztó beállításaiban konfigurált rögzített IP-cím. Egyes internetszolgáltatók (ISP) megkövetelik, hogy statikus IP-címet adjon meg a számítógépén vagy az útválasztó TCP/IP-beállításaiban, hogy csatlakozhasson az internethez.

Hogyan lehet eltávolítani a PublicBoardSearch böngésző-gépeltérítőt

Hogyan lehet eltávolítani a PublicBoardSearch böngésző-gépeltérítőt

A fertőzés módja szerint a PublicBoardSearch a böngésző-gépeltérítő kategóriába tartozik. Ez egy olyan típusú rosszindulatú program, amelyet arra terveztek, hogy átvegye egy ismerős böngésző beállításait.

Nagy felbontású Apex Legends háttérképek gyűjteménye számítógépekhez

Nagy felbontású Apex Legends háttérképek gyűjteménye számítógépekhez

Nagy felbontású háttérképek gyűjteménye számítógép- és laptopfelhasználók számára teljes felbontásban Full HD-tól 4K-ig.

Mi az a Localhost? Miben különbözik a Localhost a 127.0.0.1-től?

Mi az a Localhost? Miben különbözik a Localhost a 127.0.0.1-től?

A Unix rendszer, más néven „visszacsatolás”, képes hálózati kommunikációt küldeni és fogadni magának egy virtuális hálózati eszközön keresztül. A számítógép képes üzeneteket küldeni magának, lehetővé téve a kommunikációt aktív hálózat nélkül.

5 ok, amiért érdemes ingyenes víruskereső szoftvert használni

5 ok, amiért érdemes ingyenes víruskereső szoftvert használni

Biztosan hallottad már azt a mondást, hogy azt kapod, amiért fizetsz, de mi a helyzet a víruskereső szoftverrel? Vásároljon szoftvercsomagokat az ingyenes védelmi megoldások helyett? Talán nem ez a helyzet, és itt van az ok!

Mi a különbség a Windows és a Mac víruskereső szoftverei között?

Mi a különbség a Windows és a Mac víruskereső szoftverei között?

A mai cikkben a Quantrimang összefoglalja a piacon lévő népszerű víruskereső szoftvermárkákat, és megnézi, miben különböznek a Windows PC-k és a macOS között.

4 dolog, amit a felhasználók látni szeretnének a Windows rendszerben 2021-ben

4 dolog, amit a felhasználók látni szeretnének a Windows rendszerben 2021-ben

Nem világos, hogy a Sun Valley mit hoz a legfelső szintű felhasználói felület változtatásokon és fejlesztéseken túl. Tehát íme, amit a felhasználók látni fognak a Windows 10 nagy Sun Valley frissítésétől, amikor az jövőre indul.

A Futtatás rendszergazdaként nem működő hiba javítása a Windows rendszerben

A Futtatás rendszergazdaként nem működő hiba javítása a Windows rendszerben

A Windows a Futtatás rendszergazdaként lehetőséget biztosít, amely lehetővé teszi a felhasználók számára, hogy rendszergazdai jogosultságokkal futtassák az alkalmazásokat és programokat. Használhatja számítógépe hibaelhárítására is. De mi van, ha ez a funkció hibásan működik, és elveszi a rendszergazdai jogokat?

A Lemezhibák javítása Windows rendszeren

A Lemezhibák javítása Windows rendszeren

A számítógép meghajtójával kapcsolatos hibák megakadályozhatják a rendszer megfelelő indítását, és korlátozhatják a hozzáférést a fájlokhoz és az alkalmazásokhoz.

Moduláris kártevő – Új lopakodó támadási módszer az adatok ellopására

Moduláris kártevő – Új lopakodó támadási módszer az adatok ellopására

Egyes rosszindulatú programváltozatok különböző modulokat használhatnak a célrendszerre gyakorolt ​​hatásuk megváltoztatására. Tehát mi az a moduláris kártevő, és hogyan működik?