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ą


Įdiekite dinaminius ekranus ir animuotus fono paveikslėlius sistemoje „Windows“.

Įdiekite dinaminius ekranus ir animuotus fono paveikslėlius sistemoje „Windows“.

„Microsoft“ operacinėje sistemoje „Windows Vista“ „DreamScene“ leido nustatyti dinamišką kompiuterių foną, tačiau po aštuonerių metų ji vis dar nepasiekiama „Windows 10“. Kodėl bėgant metams šis paprotys buvo grįžimas į praeitį ir ką galime padaryti, kad tai pakeistume?

Kaip prijungti tinklą tarp 2 nešiojamųjų kompiuterių naudojant tinklo kabelį

Kaip prijungti tinklą tarp 2 nešiojamųjų kompiuterių naudojant tinklo kabelį

Jei norime prie tinklo prijungti du nešiojamus kompiuterius, galime naudoti tinklo kabelį ir tada pakeisti dviejų kompiuterių IP adresus ir viskas.

Kaip pataisyti Neturite leidimo išsaugoti šioje „Windows“ vietoje

Kaip pataisyti Neturite leidimo išsaugoti šioje „Windows“ vietoje

Kai „Windows“ rodoma klaida „Neturite leidimo išsaugoti šioje vietoje“, tai neleis jums išsaugoti failų norimuose aplankuose.

Geriausia nemokama ir mokama „Syslog Server“ programinė įranga, skirta „Windows“.

Geriausia nemokama ir mokama „Syslog Server“ programinė įranga, skirta „Windows“.

„Syslog Server“ yra svarbi IT administratoriaus arsenalo dalis, ypač kai reikia tvarkyti įvykių žurnalus centralizuotoje vietoje.

Kas yra klaida 524 A skirtasis laikas ir kaip ištaisyti klaidą

Kas yra klaida 524 A skirtasis laikas ir kaip ištaisyti klaidą

524 klaida: Įvyko skirtasis laikas yra „Cloudflare“ specifinis HTTP būsenos kodas, nurodantis, kad ryšys su serveriu buvo nutrauktas dėl skirtojo laiko.

Kas yra klaida 0x80070570? Kaip ištaisyti šią klaidą?

Kas yra klaida 0x80070570? Kaip ištaisyti šią klaidą?

Klaidos kodas 0x80070570 yra dažnas klaidos pranešimas kompiuteriuose, nešiojamuosiuose kompiuteriuose ir planšetiniuose kompiuteriuose, kuriuose veikia „Windows 10“ operacinė sistema. Tačiau jis taip pat rodomas kompiuteriuose, kuriuose veikia „Windows 8.1“, „Windows 8“, „Windows 7“ ar senesnė versija.

Mėlynojo ekrano klaidos ištaisymo instrukcijos PUSLAPIO FAULT IN NEpaged AREA arba STOP 0x00000050

Mėlynojo ekrano klaidos ištaisymo instrukcijos PUSLAPIO FAULT IN NEpaged AREA arba STOP 0x00000050

Mėlynojo ekrano mirties klaida BSOD PAGE_FAULT_IN_NONPAGED_AREA arba STOP 0x00000050 yra klaida, kuri dažnai įvyksta įdiegus aparatinės įrangos tvarkyklę arba įdiegus ar atnaujinus naują programinę įrangą, o kai kuriais atvejais klaida yra dėl sugadinto NTFS skaidinio.

Ką daryti, kai pasirodo vaizdo įrašų planuoklio vidinė klaida?

Ką daryti, kai pasirodo vaizdo įrašų planuoklio vidinė klaida?

„Video Scheduler Internal Error“ taip pat yra mirtina mėlynojo ekrano klaida, ši klaida dažnai pasitaiko „Windows 10“ ir „Windows 8.1“. Šiame straipsnyje bus parodyta keletas būdų, kaip ištaisyti šią klaidą.

Kaip neleisti Epic Launcher paleisti naudojant „Windows“.

Kaip neleisti Epic Launcher paleisti naudojant „Windows“.

Norėdami pagreitinti „Windows 10“ paleidimą ir sutrumpinti įkrovos laiką, toliau pateikiami veiksmai, kuriuos turite atlikti norėdami pašalinti „Epic“ iš „Windows“ paleisties ir neleisti „Epic Launcher“ paleisti naudojant „Windows 10“.

3 geresni būdai išsaugoti failus darbalaukyje

3 geresni būdai išsaugoti failus darbalaukyje

Neturėtumėte išsaugoti failų darbalaukyje. Yra geresnių būdų saugoti kompiuterio failus ir išlaikyti tvarkingą darbalaukį. Šiame straipsnyje bus parodytos efektyvesnės vietos failams išsaugoti sistemoje „Windows 10“.