golangのflagで引数を取得する
自分でCLIのツールを作るときは大抵、cobraを使ってやるのですが、サブコマンドを必要としていなかったり、そこまで処理が多くない場合にcobraを使うのは面倒だったので、標準パッケージに含まれているflagを使ってみている。そんななかでflagでオプション無しで引数を渡す所で詰まったのでメモ。
オプション付きの引数
flagでオプション付きの引数を使う場合は以下
var f string flag.StringVar(&f, "f" "", "default") flag.Parse()
実行する際は以下
[コマンド名] -f "引数"
オプション無しの引数
オプション無しで引数を使う場合は以下のような感じ。これだと、第一引数が取得できる。
flag.Arg(0)