Använda en interaktiv skal (REPL)

Go:
Använda en interaktiv skal (REPL)

Hur man gör:

Även om Go inte inkluderar en inbyggd REPL, har gemenskapen skapat verktyg som gore för att fylla detta gap. Först, installera gore genom att köra:

$ go get -u github.com/motemen/gore

När det är installerat, starta gore genom att skriva gore i din terminal:

$ gore

Du bör se en prompt redo att ta emot Go-kommandon. Låt oss prova ett enkelt exempel:

gore> :import fmt
gore> fmt.Println("Hej, Go REPL!")

Du skulle se utskriften som:

Hej, Go REPL!

Variabler och funktionsdefinitioner fungerar som förväntat. Du kan deklarera en funktion:

gore> :import math
gore> areaCircle := func(radius float64) float64 {
...> return math.Pi * radius * radius
...> }
gore> fmt.Println("Area av cirkel med radien 4:", areaCircle(4))

Och få utskriften direkt:

Area av cirkel med radien 4: 50.26548245743669

Fördjupning:

Konceptet med en REPL är uråldrigt, som går tillbaka till Lisp-maskinerna på 1960-talet, och ger en interaktiv programmeringsupplevelse. Till skillnad från språk som Python eller JavaScript, designades Go utan en REPL, med fokus istället på kompilerade binärer för prestanda och enkelhet. Detta återspeglar Gos filosofi om enkelhet och dess design för skalbar och underhållbar mjukvara.

Dock visar verktyg som gore eller goplay Gos gemenskaps resursfullhet i att överbrygga detta gap. Dessa verktyg tolkar Go-kod dynamiskt och använder paketet go/eval eller liknande mekanismer för att exekvera den i realtid, om än med vissa begränsningar jämfört med en infödd REPL-miljö. Dessa begränsningar kommer från Gos typsystem och kompileringsmodell, vilket kan göra omedelbar utvärdering utmanande.

Även om REPL-miljöer är exceptionellt användbara för utbildning och snabba tester, tenderar Go-ekosystemet vanligtvis att gravitera mot traditionella kompilera-och-köra-processer för de flesta utvecklingsuppgifter. IDE:s och redigerare med stöd för Go, som Visual Studio Code eller GoLand, erbjuder integrerade verktyg för testning och felsökning som lindrar mycket av behovet av en REPL för professionell utveckling.

För utforskande programmering, prototypning eller lärande erbjuder dock REPL:er som gore ett värdefullt alternativ, som gör det möjligt för programmerare som är vana vid REPL:er i andra språk att njuta av en liknande upplevelse i Go.