作成したツール

今回作成したツールは以下です。

https://github.com/komem3/stout

モチベーション

作成したモチベーションとしては、「構造体を適当に定義したけど json の出力が気になる。」、「この構造体に対する json リクエス トをぱっぱと作成したい」という状況と、僕の ast の練習も含めて作成しました。 思ってた以上に面倒な作業でした…。

使用方法

雑に現在の help コマンドの出力は以下のようになっています。

$ stout -h
usage: stout -path $struct_path [-no-format] $struct_name
options:
  -path string
        File path of defined struct. (required)
  -no-format bool
        Not format the output json.

インストール

インストールの仕方は go のツールらしく以下です。

go get github.com/komem3/stout

実例

実際の使い方は以下のように、-path オプションでファイルパスを指定して、その後に対象のオブジェクトを指定して実行を行ないます。

type PtrSamePkg struct {
	Content string
	Next    string
}

上記のようなオブジェクトを持つ define_test.go に対して実行する場合は以下のように実行すると json の出力が得られます。

$ stout -path ./define_test.go PtrSamePkg
{
  "Content": "string",
  "Next": "string"
}

おわりに

このブログを見る人も少ないと思いますが、よかったら試しに使ってみてもらえると嬉しいです。