Perusverkkopalvelimen rakentaminen Golla

Perusverkkopalvelimen rakentaminen Golla

Go on mielenkiintoinen ohjelmointikieli nykyaikaisten verkkosovellusten ja järjestelmäohjelmistojen rakentamiseen. Se loi valtavan kohua julkaisunsa jälkeen ja tarjoaa palveluja, kuten Dockerin, Kubernetesin, Terraformin, Dropboxin ja Netflixin .

Lisäksi Go:n vankka kokoelma sisäänrakennettuja paketteja tekee siitä loistavan valinnan web-ohjelmointiin. Tämä artikkeli näyttää sinulle, kuinka perusverkkopalvelin kirjoitetaan Gossa .

Tuo tarvittavat paketit

Net/HTTP-paketti sisältää kaiken tarvittavan verkkopalvelimen ja asiakkaan luomiseen. Tämä paketti sisältää hyödyllisiä toimintoja web-ohjelmointiin.

Voit tuoda sen lisäämällä alla olevan rivin lähdekoodisi alkuun:

import "net/http"

Artikkeli käyttää myös fmt- pakettia merkkijonojen muotoiluun ja lokipakettia virheiden käsittelyyn. Voit tuoda ne yksitellen yllä olevan kuvan mukaisesti tai tuoda kaikki paketit yhdellä tuontilausekkeella:

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

Voit jatkaa pääfunktion kirjoittamista tarvittavien pakettien tuonnin jälkeen. Tallenna lähdetiedosto .go- tunnisteella . Jos käytät Vimia , käytä alla olevaa komentoa Vimin tallentamiseen ja poistumiseen:

:wq server.go

Kirjoita pääfunktio

Go-ohjelmat sijaitsevat suoraan päätoiminnossa, jota kutsutaan osuvasti "main". Sinun on soitettava palvelinpuhelu täällä . Lisää seuraavat rivit lähdekoodiin ja katso, mitä ne tekevät:

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

Esimerkki on pääfunktion määritteleminen func -avainsanalla . Golla on tiukat säännöt avaustuen sijoittelusta, joten varmista, että aloitustuki on oikealla linjalla. Päälauseen ensimmäinen lause määrittää, että kaikki verkkopyynnöt juuripolkuun ( "/" ) käsitellään indeksillä, joka on tyyppi http.HandlerFunc .

Toinen rivi käynnistää verkkopalvelimen http.ListenAndServe -funktion kautta . Se ilmoittaa palvelimelle, että se kuuntelee jatkuvasti saapuvia HTTP-pyyntöjä palvelimen portissa 8080. Tämän toiminnon toista parametria tarvitaan estämään ohjelma loppuun asti.

Koska http.ListenAndServe palauttaa aina virheen, esimerkki käärii tämän kutsun lokiin.Fatal call . Tämä lausunto kirjaa kaikki palvelinpuolella luodut virheilmoitukset.

Toteuta käsittelytoiminnot

Kuten näet, päätoiminto kutsuu käsittelijän funktioindeksiä käsitelläkseen asiakaspyyntöjä. Esimerkki ei kuitenkaan ole vielä määrittänyt tätä toimintoa palvelimelleen.

Lisätään tarvittavat lauseet, jotta indeksifunktiosta tulee käyttökelpoinen:

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

Tämä funktio ottaa kaksi eri argumenttia, tyypit http.ResponseWriter ja http.Request . http.ResponseWriter- parametri sisältää palvelimen vastauksen saapuvaan pyyntöön http.Request- objektin muodossa .

Fmt -paketin funktiota Fprintf käytetään tekstimerkkijonojen näyttämiseen ja käsittelemiseen. Artikkeli käyttää tätä näyttämään palvelimen vastaukset verkkopyyntöihin. Lopuksi r.URL.Path[1:]- elementtiä käytetään tietojen hakemiseen juuripolun jälkeen.

Lisää kaikki loput osat

Go-verkkopalvelimesi on valmis, kun olet lisännyt kaikki jäljellä olevat komponentit. Koodi näyttää tältä:

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

Ensimmäinen rivi tarvitaan kääntämään tämä Go-verkkopalvelinkoodi suoritettavaksi tiedostoksi.

Perusverkkopalvelimen rakentaminen Golla

Käännä tämä Go-verkkopalvelinkoodi suoritettavaksi tiedostoksi


Asenna dynaamisia näyttöjä ja animoituja taustakuvia Windowsiin

Asenna dynaamisia näyttöjä ja animoituja taustakuvia Windowsiin

Microsoftin Windows Vista -käyttöjärjestelmässä DreamScene salli dynaamisten taustojen asettamisen tietokoneille, mutta kahdeksan vuotta myöhemmin se ei ole vieläkään saatavilla Windows 10:ssä. Miksi tämä tapa on ollut paluu menneisyyteen vuosien ajan, ja mitä voimme tehdä muuttaaksemme tämän?

Kuinka yhdistää verkko kahden kannettavan tietokoneen välille verkkokaapelilla

Kuinka yhdistää verkko kahden kannettavan tietokoneen välille verkkokaapelilla

Jos haluamme liittää kaksi kannettavaa tietokonetta verkkoon, voimme käyttää verkkokaapelia ja vaihtaa sitten kahden tietokoneen IP-osoitteet ja siinä kaikki.

Korjausohjeet Sinulla ei ole lupaa tallentaa tähän sijaintiin Windowsissa

Korjausohjeet Sinulla ei ole lupaa tallentaa tähän sijaintiin Windowsissa

Kun Windows näyttää virheilmoituksen "Sinulla ei ole lupaa tallentaa tähän sijaintiin", tämä estää sinua tallentamasta tiedostoja haluttuihin kansioihin.

Paras ilmainen ja maksullinen Syslog Server -ohjelmisto Windowsille

Paras ilmainen ja maksullinen Syslog Server -ohjelmisto Windowsille

Syslog Server on tärkeä osa IT-järjestelmänvalvojan arsenaalia, varsinkin kun on kyse tapahtumalokien hallinnasta keskitetyssä paikassa.

Mikä on Error 524 A Timeout Occurred ja kuinka korjata virhe

Mikä on Error 524 A Timeout Occurred ja kuinka korjata virhe

Virhe 524: Aikakatkaisu tapahtui on Cloudflare-kohtainen HTTP-tilakoodi, joka ilmaisee, että yhteys palvelimeen katkesi aikakatkaisun vuoksi.

Mikä on virhe 0x80070570? Kuinka korjata tämä virhe?

Mikä on virhe 0x80070570? Kuinka korjata tämä virhe?

Virhekoodi 0x80070570 on yleinen virheilmoitus tietokoneissa, kannettavissa tietokoneissa ja tableteissa, joissa on Windows 10 -käyttöjärjestelmä. Se näkyy kuitenkin myös tietokoneissa, joissa on Windows 8.1, Windows 8, Windows 7 tai vanhempi.

Ohjeet sinisen näytön virheen korjaamiseen PAGE FAULT IN PAGED AREA tai STOP 0x00000050

Ohjeet sinisen näytön virheen korjaamiseen PAGE FAULT IN PAGED AREA tai STOP 0x00000050

Blue screen of death -virhe BSOD PAGE_FAULT_IN_NONPAGED_AREA tai STOP 0x00000050 on virhe, joka ilmenee usein laitteisto-ajurin asennuksen tai uuden ohjelmiston asennuksen tai päivityksen jälkeen, ja joissakin tapauksissa syynä on, että virhe johtuu korruptoituneesta NTFS-osiosta.

Mitä tehdä, kun saat Video Schedulerin sisäisen virheen?

Mitä tehdä, kun saat Video Schedulerin sisäisen virheen?

Video Scheduler Internal Error on myös tappava sininen näyttövirhe, tämä virhe ilmenee usein Windows 10:ssä ja Windows 8.1:ssä. Tämä artikkeli näyttää joitakin tapoja korjata tämä virhe.

Kuinka estää Epic Launcherin käynnistyminen Windowsin kanssa

Kuinka estää Epic Launcherin käynnistyminen Windowsin kanssa

Voit nopeuttaa Windows 10:n käynnistystä ja lyhentää käynnistysaikaa noudattamalla alla olevia ohjeita poistaaksesi Epicin Windowsin käynnistyksestä ja estääksesi Epic Launcherin käynnistymisen Windows 10:n kanssa.

3 parempaa tapaa tallentaa tiedostoja työpöydälle

3 parempaa tapaa tallentaa tiedostoja työpöydälle

Sinun ei pitäisi tallentaa tiedostoja työpöydälle. On olemassa parempia tapoja tallentaa tietokonetiedostoja ja pitää työpöytäsi siistinä. Seuraava artikkeli näyttää sinulle tehokkaampia paikkoja tiedostojen tallentamiseen Windows 10:ssä.