Antworten:
Nein, Go bietet keine REPL.
Wie bereits erwähnt, ist Go Playground (dies ist die neue URL) jedoch sehr praktisch. Die Go-Autoren denken auch darüber nach, einen funktionsreichen Editor hinzuzufügen.
Wenn Sie etwas Lokales möchten, sollten Sie hsandbox installieren . Wenn Sie es einfach mit ausführen, hsandbox go
wird Ihr Terminalbildschirm (mit screen
) geteilt, auf dem Sie oben Code schreiben und bei jedem Speichern die Ausführungsausgabe unten sehen können.
Es gab einen gotry
Standard-Go-Befehl, der zum Auswerten von Ausdrücken (mit einem optionalen Paketnamen) verwendet wurde und wie gotry 1+2
und gotry fmt 'Println("hello")'
von der Shell ausgeführt werden konnte. Es ist nicht mehr verfügbar, da nicht viele Leute es tatsächlich benutzt haben.
Ich habe auch Projekte von Drittanbietern zum Erstellen einer REPL für Go gesehen, aber jetzt kann ich nur noch Links zu zwei davon finden: igo und go-repl . Wie gut sie funktionieren, weiß ich nicht.
Meine zwei Cent: Die Geschwindigkeit der Kompilierung ermöglicht das Schreiben einer REPL für Go, da dies auch zum Erstellen der hier genannten Tools beigetragen hat, aber die gleiche Geschwindigkeit macht REPL weniger notwendig. Jedes Mal, wenn ich etwas in Go testen möchte, das ich nicht auf Playground ausführen kann, öffne ich eine einfache .go
Datei, beginne mit dem Codieren und führe den Code einfach aus. Dies wird noch einfacher, wenn der go
Befehl in Go 1 den Erstellungsprozess mit einem Befehl ermöglicht und viel einfacher macht.
UPDATE: Letzte wöchentliche Version des go
Befehls Go hinzugefügt , mit dem sehr einfach eine Datei erstellt werden kann: Schreiben Sie Ihre prog.go
Datei und führen Sie sie ausgo build prog.go && ./prog
UPDATE 2 : Mit Go 1 können Sie Go-Programme direkt mit ausführengo run filename.go
UPDATE 3 : gore
ist ein neues Projekt, das interessant erscheint.
motemen/gore
dort gespielt - es ist ziemlich gut.
Noch eine Go REPL, die gut funktioniert. Gekennzeichnet mit Zeilenbearbeitung, Code-Vervollständigung und mehr.
Sie haben auch ein aktuelles (März 2013) Projekt namens Gore von Sriram Srinivasan , das nützlich sein kann:
gore ist ein Befehlszeilen-Evaluator für Golang-Code - eine REPL ohne Schleife, wenn Sie so wollen.
Es ist ein Ersatz für den Go-Spielplatz und erleichtert das interaktive Ausprobieren von Code-Bits erheblich: Gore liefert automatisch Code auf der Kesselplatte wie Import- und Paketdeklarationen sowie einen Hauptfunktions-Wrapper .
Da es auf Ihrem eigenen Computer ausgeführt wird, wird aus Sicherheitsgründen kein Code abgelehnt (im Gegensatz zum sicheren Sandbox-Modus von go playground).
Haben Sie den Go Playground ausprobiert ?
Über den Go-Spielplatz
Der Go Playground ist ein Webdienst, der auf den Servern von golang.org ausgeführt wird. Der Dienst empfängt ein Go-Programm, kompiliert, verknüpft und führt das Programm in einer Sandbox aus. Anschließend wird die Ausgabe zurückgegeben.
Wenn Sie ein Vim-Benutzer sind, bietet das vim-go-Plugin ( https://github.com/fatih/vim-go ) einen Befehl (GoRun) zum Ausführen und Drucken der Ausgabe des aktuellen Puffers. Sie müssen immer noch den gesamten Boilerplate-Code einer Go-Hauptdatei einschließen, aber es bietet immer noch eine bequeme Möglichkeit, Codefragmente in Ihrer lokalen Umgebung schnell zu testen.
HTH
Nein, aber Sie können die Geschwindigkeit der Kompilierung ausnutzen (wie in anderen Antworten erwähnt).
Schauen Sie sich Rango an , das eine Generate-Compile-Run-Schleife verwendet, um eine REPL nachzuahmen. Sie können es auch mit Importen und Anweisungen starten, um eine interaktive Sitzung zu starten.
Ich hatte etwas Glück mit dem VSCode-Debugger, aber es ist ziemlich begrenzt, da Sie keine Funktionsaufrufe über die Debug-Konsole aufrufen können. Debug: Funktionsaufrufe nicht unterstützt # 2225 .
Grundsätzlich setzen Sie einen Haltepunkt, nachdem Sie Ihre launch.json
Datei richtig konfiguriert haben . Anschließend können Sie links in der Variablenseitenleiste einen Drilldown durchführen und Variablenausdrücke in die Debug-Konsole eingeben.
Gosh ist die interaktive Golang Shell. Ziel ist es, eine benutzerfreundliche interaktive Ausführungsumgebung bereitzustellen.
Sie können auch https://github.com/haya14busa/goplay ausprobieren. Auf diese Weise können Sie Go-Code-Dateien von Ihrem Terminal direkt auf dem Go-Spielplatz ausführen
Bitte überprüfen Sie auch www.gorepl.com für go REPL und andere REPLs
Go-Code kann in Visual Studio Code mit der Erweiterung Go und der Erweiterung Code Runner auf REPL-ähnliche Weise ausgeführt werden. Klicken Sie auf das Dreieck Ausführen ▶, das im folgenden Screenshot mit dem Mauszeiger markiert ist, um den Code auszuführen und die Ergebnisse im Ausgabebereich unten im Visual Studio-Code anzuzeigen.
Beim Programmieren mit Go schlägt Visual Studio Code zusätzliche Go-Erweiterungen vor, die installiert werden können, um die Funktionalität von Visual Studio Code zu erweitern.