go言語でのコマンドライン引数の使い方でやや混乱したのでまとめる。 まとめること flagの仕様 flagでgit push -fのようにオプション引数より前に非オプションの引数を置く方法・サブコマンドの例 go-flagパッケージのサブコマンドを試す flagの仕様 Golang標準のflagパッケージは以下のように使う。 package main import ( "flag" "fmt" "os" ) func main() { // -hオプション用文言 flag.Usage = func() { fmt.Fprintf(os.Stderr, ` Usage of %s: %s [OPTIONS] ARGS... Options\n`, os.Args[0],os.Args[0]) flag.PrintDefaults() } var ( opt1 = flag.String("o