Kaip sukurti pagrindinį žiniatinklio serverį naudojant „Go“.

Kaip sukurti pagrindinį žiniatinklio serverį naudojant „Go“.

Go yra įdomi programavimo kalba, skirta kurti šiuolaikines žiniatinklio programas ir sistemos programinę įrangą. Po išleidimo jis sukėlė didžiulį triukšmą ir teikia tokias paslaugas kaip „Docker“, „Kubernetes“, „Terraform“, „Dropbox“ ir „ Netflix“ .

Be to, dėl didelės „Go“ integruotų paketų kolekcijos jis yra puikus pasirinkimas žiniatinklio programavimui. Šiame straipsnyje bus parodyta, kaip „Go“ parašyti pagrindinį žiniatinklio serverį .

Importuokite reikiamus paketus

Net/HTTP pakete yra viskas, ko reikia norint sukurti žiniatinklio serverį ir klientą. Šiame pakete pateikiamos kelios naudingos interneto programavimo funkcijos.

Galite jį importuoti pridėję žemiau esančią eilutę prie šaltinio kodo pradžios:

import "net/http"

Straipsnyje taip pat bus naudojamas fmt paketas eilutėms formatuoti ir žurnalo paketas klaidoms tvarkyti. Galite importuoti juos atskirai, kaip parodyta aukščiau, arba importuoti visus paketus naudodami vieną importavimo teiginį:

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

Importavę reikiamus paketus galite tęsti pagrindinės funkcijos rašymą. Išsaugokite šaltinio failą su plėtiniu .go . Jei naudojate Vim , naudokite toliau pateiktą komandą, kad išsaugotumėte ir išeitumėte iš Vim:

:wq server.go

Parašykite pagrindinę funkciją

„Go“ programos yra tiesiogiai pagrindinėje funkcijoje, taikliai pavadintoje „pagrindinė“. Čia turėsite paskambinti serveriui . Pridėkite šias eilutes prie šaltinio kodo ir pažiūrėkite, ką jos daro:

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

Pavyzdys yra pagrindinės funkcijos apibrėžimas naudojant raktinį žodį func . Go galioja griežtos atidarymo petnešos išdėstymo taisyklės, todėl įsitikinkite, kad pradinis įtvaras yra teisingoje linijoje. Pirmasis teiginys pagrindiniame apibrėžia, kad visos žiniatinklio užklausos šakniniam keliui ( "/" ) bus tvarkomos indeksu, kuris yra http.HandlerFunc tipo funkcija .

Antroji eilutė paleidžia žiniatinklio serverį per funkciją http.ListenAndServe . Jis signalizuoja serveriui nuolat klausytis gaunamų HTTP užklausų per serverio 8080 prievadą. Antrasis šios funkcijos parametras reikalingas norint užblokuoti programą iki galo.

Kadangi http.ListenAndServe visada grąžina klaidą, pavyzdyje šis iškvietimas įtraukiamas į žurnalą.Fatal call . Šis pareiškimas registruoja visus serverio pusėje sugeneruotus klaidų pranešimus.

Įdiegti apdorojimo funkcijas

Kaip matote, pagrindinė funkcija iškviečia tvarkyklės funkcijos indeksą, kad galėtų apdoroti kliento užklausas. Tačiau pavyzdyje ši serverio funkcija dar neapibrėžta.

Pridėkime reikalingus teiginius, kad rodyklės funkciją būtų galima naudoti:

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

Šiai funkcijai naudojami du skirtingi argumentai: http.ResponseWriter ir http.Request . Parametre http.ResponseWriter yra serverio atsakymas į gaunamą užklausą http.Request objekto forma .

Funkcija Fprintffmt paketo naudojama teksto eilutėms rodyti ir manipuliuoti. Straipsnyje tai naudojama norint parodyti serverio atsakymą į žiniatinklio užklausas. Galiausiai elementas r.URL.Path[1:] naudojamas duomenims gauti po šakninio kelio.

Sudėkite visas likusias dalis

Jūsų Go žiniatinklio serveris bus paruoštas, kai pridėsite visus likusius komponentus. Kodas atrodys taip:

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

Pirmoji eilutė reikalinga norint sudaryti šį „Go“ žiniatinklio serverio kodą kaip vykdomąjį failą.

Kaip sukurti pagrindinį žiniatinklio serverį naudojant „Go“.

Sukompiliuokite šį „Go“ žiniatinklio serverio kodą kaip vykdomąjį failą


Sužinokite apie ugniasienes, „Windows“ užkardą sistemoje „Windows Server 2012“.

Sužinokite apie ugniasienes, „Windows“ užkardą sistemoje „Windows Server 2012“.

„Windows“ ugniasienė su išplėstine sauga yra užkarda, kuri veikia „Windows Server 2012“ ir yra įjungta pagal numatytuosius nustatymus. „Windows Server 2012“ ugniasienės parametrai tvarkomi „Windows“ ugniasienės „Microsoft“ valdymo pulte.

Kaip pakeisti Vigor Draytek modemo ir maršrutizatoriaus prisijungimo slaptažodį

Kaip pakeisti Vigor Draytek modemo ir maršrutizatoriaus prisijungimo slaptažodį

Keisdami „Vigor Draytek“ modemo ir maršrutizatoriaus prisijungimo administratoriaus puslapio slaptažodį, vartotojai apribos neteisėtą prieigą, kad galėtų pakeisti modemo slaptažodį, užtikrinant svarbią tinklo informaciją.

Kaip lengvai pagreitinti RAM naudojant AMD Ryzen Master

Kaip lengvai pagreitinti RAM naudojant AMD Ryzen Master

Laimei, „Windows“ kompiuterių, kuriuose veikia „AMD Ryzen“ procesoriai, vartotojai gali naudoti „Ryzen Master“, kad lengvai padidintų RAM neliesdami BIOS.

7 būdai, kaip ištaisyti „Windows“ nešiojamojo kompiuterio klaidas, kurios neįkraunamos per USB-C

7 būdai, kaip ištaisyti „Windows“ nešiojamojo kompiuterio klaidas, kurios neįkraunamos per USB-C

USB-C prievadas tapo duomenų perdavimo, vaizdo išvesties ir įkrovimo standartu šiuolaikiniuose Windows nešiojamuosiuose kompiuteriuose. Nors tai patogu, gali būti nemalonu, kai nešiojamąjį kompiuterį prijungiate prie USB-C įkroviklio ir jis neįkraunamas.

Kaip „Ultraviewer“ ištaisyti „Nepavyko sukurti paslaugos“ klaidą

Kaip „Ultraviewer“ ištaisyti „Nepavyko sukurti paslaugos“ klaidą

Nepavyko sukurti paslaugos klaida „Ultraviewer“ įvyksta, kai įdiegiame programinę įrangą su klaidos kodu 1072.

Kaip ištaisyti klaidą, kai „Ultraviewer“ nerodomas ID

Kaip ištaisyti klaidą, kai „Ultraviewer“ nerodomas ID

Klaida, kai nerodomas ID Ultraviewer, turės įtakos nuotoliniam kompiuterio ryšiui.

Kaip naudoti „Ultraviewer“ failams siųsti ir gauti

Kaip naudoti „Ultraviewer“ failams siųsti ir gauti

„Ultraviewer“ valdo kompiuterį nuotoliniu būdu ir turi failų siuntimo ir gavimo režimą.

6 būdai visam laikui ištrinti failus sistemoje „Windows“.

6 būdai visam laikui ištrinti failus sistemoje „Windows“.

Paprastai, kai ištrinate failą sistemoje Windows, failas nebus ištrintas iš karto, o bus išsaugotas šiukšliadėžėje. Po to turėsite atlikti dar vieną veiksmą: ištuštinti šiukšliadėžę. Bet jei nenorite atlikti šio antrojo veiksmo, toliau pateiktame straipsnyje parodysime, kaip visam laikui ištrinti failą.

Kaip tamsusis internetas veikia saugumą?

Kaip tamsusis internetas veikia saugumą?

Tamsusis tinklas yra paslaptinga vieta, turinti puikią reputaciją. Rasti tamsųjį internetą nėra sunku. Tačiau išmokti saugiai naršyti yra kitas dalykas, ypač jei nežinote, ką darote ar ko tikėtis.

Kas yra Adrozek virusas? Kaip apsisaugoti nuo Adrozek viruso

Kas yra Adrozek virusas? Kaip apsisaugoti nuo Adrozek viruso

Techniškai Adrozekas nėra virusas. Tai naršyklės užgrobėjas, taip pat žinomas kaip naršyklės modifikatorius. Tai reiškia, kad kenkėjiška programa buvo įdiegta jūsų kompiuteryje be jūsų žinios.