プログラミング言語を学習する際に対話的にコードとその結果を確認できるREPLの存在は欠かせません。RubyやPython、PHPなどスクリプト言語であれば大抵用意されています。JavaScriptであれば開発者ツールを使うことが多いでしょう。 そんな中、Go言語で使えるREPLがgoreです。入力補完も可能なソフトウェアです。

goreの使い方

goreを実行すると、 gore> という表示が出ます。外部ライブラリは :import を使って読み込みます。

gore> :import encoding/json
gore> b, e := json.Marshal(nil)
[]byte{0x6e, 0x75, 0x6c, 0x6c}
<nil>
gore> b
[]byte{0x6e, 0x75, 0x6c, 0x6c}
gore> :import fmt
gore> fmt.Println("Hello, world")
Hello, world
13
</nil><nil>

goreで記述したコードは :print を使って出力できます。コードを試してみてうまくいったら、その内容を出力して実際のコードに使うことが可能です。入力補完は追加で外部ライブラリが必要で、それを入れればTabキーで入力されます。

goreはGo製のオープンソース・ソフトウェア(MIT License)です。

motemen/gore: Yet another Go REPL that works nicely. Featured with line editing, code completion, and more.