~/workspase/go/flagを作業ディレクトリとし、main.goファイルを作成し、その中に下記のコードを入力する。
package main import ( "flag" "fmt" ) var IntOpt = flag.Int("i", 1111, "please input interger value") var StrOpt = flag.String("s", "default", "please input string value") func main() { flag.Parse() fmt.Println(*IntOpt) fmt.Println(*StrOpt) }
flag.Intはint型の値をとるオプションを定義するパッケージ関数である。第1引数はオプションの型、第2引数はデフォルト値、第3引数はオプションの説明が入る。flag.Stringは、string型の値をとるオプションを定義する。
flag.Parse()は、コマンドラインを解析し、定義したオプションにセットする。
下記のコードをMING64の画面に入力する。
$ cd ~/workspace/go/flag
$ go build main.go
$ ./main.exe
そうすると、
1111
default
でIntOptとStrOptのそれぞれのデフォルト値が表示される。
コマンドラインに$ main.exe --helpと入力すると、定義したオプションの説明がコマンドラインに表示される。
Usage of C:\Users\Ryoko Saito\workspace\go\flag\main.exe:
-i int
please input interger value (default 1111)
-s string
please input string value (default "default")
ここで i に5 、sに "おはよう"という値を入れて、コマンドラインで実行してみる。
$ ./main.exe -i 5 -s "おはよう"
すると下記のように結果が表示される。
5
おはよう