Go:
Interaktiivisen kuoren (REPL) käyttäminen
Kuinka:
Vaikka Go ei sisälläkään sisäänrakennettua REPL:iä, yhteisö on luonut työkaluja kuten gore
täyttämään tämän aukon. Asenna gore
suorittamalla ensin:
$ go get -u github.com/motemen/gore
Kun se on asennettu, käynnistä gore
kirjoittamalla gore
päätteeseesi:
$ gore
Sinun pitäisi nähdä kehote, joka on valmis vastaanottamaan Go-komentoja. Kokeillaan yksinkertaista esimerkkiä:
gore> :import fmt
gore> fmt.Println("Hello, Go REPL!")
Näkisit tulosteen kuten:
Hello, Go REPL!
Muuttujat ja funktiomäärittelyt toimivat odotetusti. Voit määritellä funktion:
gore> :import math
gore> areaCircle := func(radius float64) float64 {
...> return math.Pi * radius * radius
...> }
gore> fmt.Println("Ympyrän pinta-ala säteellä 4:", areaCircle(4))
Ja saat tuloksen heti:
Ympyrän pinta-ala säteellä 4: 50.26548245743669
Syväsukellus:
REPL:n konsepti on ikivanha, jäljittäen juurensa 1960-luvun Lisp-koneisiin, tarjoten interaktiivisen ohjelmointikokemuksen. Toisin kuin kielet kuten Python tai JavaScript, Go suunniteltiin ilman REPL:iä, keskittyen sen sijaan käännetyihin binääreihin suorituskyvyn ja yksinkertaisuuden vuoksi. Tämä heijastaa Gon filosofiaa yksinkertaisuudesta ja sen suunnittelua skaalautuvaa ja ylläpidettävää ohjelmistoa varten.
Kuitenkin, työkalut kuten gore
tai goplay
esittelevät Go-yhteisön kekseliäisyyttä tämän aukon ylittämisessä. Nämä työkalut jäsentävät Go-koodia dynaamisesti ja käyttävät go/eval
-pakettia tai vastaavia mekanismeja suorittaakseen sen reaaliajassa, joskin joitakin rajoituksia verrattuna natiiviin REPL-ympäristöön. Nämä rajoitukset johtuvat Gon tyyppijärjestelmästä ja käännösmallista, jotka voivat tehdä lennossa tapahtuvan arvioinnin haastavaksi.
Vaikka REPL-ympäristöt ovat erittäin hyödyllisiä koulutuksen ja nopeiden testien kannalta, Go-ekosysteemi tyypillisesti suosii perinteisiä käännä-ja-suorita -prosesseja useimmissa kehitystehtävissä. IDE:t ja editorit, joissa on Go-tuki, kuten Visual Studio Code tai GoLand, tarjoavat integroituja työkaluja testaamiseen ja vianetsintään, mikä lieventää suurelta osin tarvetta REPL:lle ammattimaisessa kehityksessä.
Tutkivalle ohjelmoinnille, prototyyppien luonnille tai oppimiselle REPL:t kuten gore
tarjoavat kuitenkin arvokkaan vaihtoehdon, sallien ohjelmoijille, jotka ovat tottuneet REPL:iin muissa kielissä, nauttia samanlaisesta kokemuksesta Go:ssa.