[Go] コマンドライン引数を使う(flag)
os.Args でも実現できますが、flag を利用すると引数の値を扱いやすくなります。文字や整数などの型を指定した引数の設定をし、flag.Parse() で判別が行われます。
package main
import (
"flag"
"fmt"
)
func main() {
name := flag.String("name", "文字(default)", "文字の値を指定します")
age := flag.Int("age", 60, "数値の値を指定します")
resign := flag.Bool("resign", true, "真偽の値を指定します")
flag.Parse()
fmt.Printf("-name : %s\n", *name)
fmt.Printf("-age : %d\n", *age)
fmt.Printf("param -resign : %t\n", *resign)
}
引数を指定して実行してみます。
go run main.go -name nanasi -age 30 -resign false
結果です。引数で指定した値が、それぞれの変数に当てられている事が分かります。
param -name : nanasi
param -age : 30
param -resign : true
引数が何か分からないときは、-help で内容を確認することができます。
go run main.go -help
-age int
数値の値を指定します (default 60)
-name string
文字の値を指定します (default "文字(default)")
-resign
真偽の値を指定します (default true)