GoLangにはサードパーティ提供のREPL「gore」があります。
毎回毎回コンパイルしなくとも動作検証ができます。
実際のところ
導入
$ go get -u github.com/motemen/gore
公式で周辺ツールの導入も勧められているので、
ついでに導入しておきます。
$ go get -u github.com/nsf/gocode $ go get -u github.com/k0kubun/pp # or github.com/davecgh/go-spew $ go get -u golang.org/x/tools/cmd/godoc
動作
試しに動かしてみましょう。
$ gore gore version 0.2.6 :help for help gore> var something int16 gore> something = 10 10 gore> something + 20 30 gore> something 10 gore> something = something + 20 30
さらに、現状の内容をGOスクリプトとして吐き出すオプションが備わっています。
ためしに":print"を実行すると、以下のような内容で出てきます。
package main import "fmt" func __gore_p(xx ...interface{}) { for _, x := range xx { fmt.Printf("%#v\n", x) } } func main() { var something int16; something = 10; something = something + 20 }
中断
中断するには"Ctrl-D"。
Pythonと同じですね。
外部のファイルやパッケージを読み込むには?
$ gore --help Usage of gore: -autoimport formats and adjusts imports automatically -context string import packages, functions, variables and constants from external golang source files -pkg string specify a package where the session will be run inside