布団の中にいたい

Elasticsearchいじったり、Androidアプリ書いたり。最近は数学の勉強が楽しくなってきました。

golangのflagで引数を取得する

自分でCLIのツールを作るときは大抵、cobraを使ってやるのですが、サブコマンドを必要としていなかったり、そこまで処理が多くない場合にcobraを使うのは面倒だったので、標準パッケージに含まれているflagを使ってみている。そんななかでflagでオプション無しで引数を渡す所で詰まったのでメモ。

オプション付きの引数

flagでオプション付きの引数を使う場合は以下

var f string

flag.StringVar(&f, "f" "", "default")
flag.Parse()

実行する際は以下

[コマンド名] -f "引数"

オプション無しの引数

オプション無しで引数を使う場合は以下のような感じ。これだと、第一引数が取得できる。

flag.Arg(0)