気軽な playground
gopwt 用の play.golang.org みたいなのを作りたいなと思っていた。だからといって、入力されたコードをサーバーで実行しても大丈夫なような環境を作るのも面倒ということで、gopwt で変換して、それを、gopherjs で javascript にして、ブラウザで実行してもらえば良いというとても気軽な案を思いついたら結構うまくいっている。そのうち play.gopwt.org 的なところで動かす予定。
テストコードが対象になるので、go test
がやっているような main.main を作ってやらないといけないんだけど、それは適当に手を抜きつつこんなテンプレートで作ってる。
testmain.go:
package main import ( "testing" ) var benchmarks = []testing.InternalBenchmark{} var examples = []testing.InternalExample{} var tests = []testing.InternalTest{ {{range .}} { "{{.}}", {{.}}, }, {{end}} } func main() { match := func(pat string, str string) (bool, error) { return true, nil } testing.Main(match, tests, benchmarks, examples) }`