`go`でコマンドのフラグを扱う
golangでコマンドを作成した場合、フラグによって動作を分けたい場合がある。
この動作はflag
パッケージを使うことで可能である。
公式ドキュメント https://golang.org/pkg/flag
非フラグを受け取る
cmd 1 2 3
など、-hoge
でフラグを指定しないことも可能である。
この場合、ソース内では配列として受け取る。
package main import "flag" func main() { flag.Parse() flags := flag.Arg() //[]stringが返る。 }
フラグを使って受け取る。
cmd -flag somthing
と-flag
を指定してフラグを渡すこともかのである。
package main import "flag" func main() // flag.Int(flag_name, default_value, hlep_message) f := flag.Int("f", "0", "message") }