回答:
いいえ、GoはREPLを提供していません。
ただし、すでに述べたように、Go Playground(これは新しいURLです)は非常に便利です。Go作成者は、機能が豊富なエディターをそれに追加することも検討しています。
ローカルなものが必要な場合は、hsandboxのインストールを検討してください。単にで実行するとhsandbox go
、端末画面が分割され(を使用screen
)、上部にコードを記述し、保存するたびにその実行出力を下部に表示できます。
ありましたgotry
(オプションのパッケージ名を持つ)式を評価するために使用される標準的な移動コマンド、間、およびように実行することができgotry 1+2
、およびgotry fmt 'Println("hello")'
シェルから。実際に使用している人は少ないため、利用できなくなりました。
GoのREPLを構築するためのサードパーティのプロジェクトも見ましたが、現在はigoとgo-replの 2 つへのリンクしか見つかりません。どれだけうまく機能するかはわかりません。
私の2セント:コンパイルの速度は、ここで説明したツールの構築にも役立つため、GoでのREPLの作成を可能にしますが、同じ速度でREPLの必要性が少なくなります。Goでプレイグラウンドで実行できないものをテストするたびに、単純な.go
ファイルを開いてコーディングを開始し、コードを実行します。go
Go 1 のコマンドで1コマンドのビルドプロセスが可能になり、はるかに簡単になると、これはさらに簡単になります。
更新:go
非常に簡単にファイルを構築するために使用できるGo追加コマンドの最新の週次リリース:prog.go
ファイルを書き込んで実行go build prog.go && ./prog
UPDATE 2:Go 1を使用すると、goプログラムを直接実行できますgo run filename.go
更新3:gore
興味深いと思われる新しいプロジェクトです。
motemen/gore
そこで遊んでいます-それはかなり良いです。
また、Sriram Srinivasanのgoreと呼ばれる最近(2013年3月)のプロジェクトもあります。
goreは、golangコードのコマンドラインエバリュエーターです。ループがあれば、REPLになります。
goプレイグラウンドの代わりになり、インタラクティブにコードを試してみるのがはるかに簡単になります。goreは、インポートやパッケージの宣言、メイン関数のラッパーなどの定型的なコードを自動的に提供します。
また、自分のコンピューターで実行するため、セキュリティ上の理由でコードが拒否されることはありません(プレイグラウンドの安全なサンドボックスモードとは異なります)。
Go Playgroundを試しましたか?
Go Playgroundについて
Go Playgroundは、golang.orgのサーバーで実行されるWebサービスです。サービスはGoプログラムを受け取り、コンパイルしてリンクし、サンドボックス内でプログラムを実行してから、出力を返します。
Vimユーザーの場合、vim-goプラグイン(https://github.com/fatih/vim-go)は、現在のバッファーの出力を実行および出力するコマンド(GoRun)を提供します。メインのGoファイルのすべてのボイラープレートコードを含める必要がありますが、ローカル環境でコードスニペットをすばやくテストするための便利な方法を提供します。
HTH
VSCodeデバッガーで運が良かったのですが、デバッグコンソールDebug:Function Calls not supported#2225から関数呼び出しを呼び出せない限り、かなり制限があります。
基本的には、launch.json
ファイルを適切に構成した後でブレークポイントを設定します。次に、変数のサイドバーの左側をドリルダウンして、デバッグコンソールに変数式を入力できます。
GoshはインタラクティブなGolangシェルです。目標は、使いやすいインタラクティブな実行環境を提供することです。
https://github.com/haya14busa/goplayを試すことも できます。これにより、端末からGo Playgroundに直接goコードファイルを実行できます。
go REPLおよびその他のREPLについては、www.gorepl.comも確認してください。