~/workspase/go/cmdを作業ディレクトリとし、main.goファイルを作成し、その中に下記のコードを入力する。
今回は、os.Argsの機能を調べてみる。
package main import ( "fmt" "os" ) func main() { fmt.Println(os.Args) if len(os.Args) > 1 { fmt.Println(os.Args[1]) } }
次に下記のコマンドを入力する。
cd ~/workspace/go/cmd go build main.go ./main.exe
そうすると、コマンド内に
[C:\Users\Ryoko Saito\workspace\go\cmd\main.exe]
と表記される。
os.Argsがスライスで一番最初の値は、main.exeが実行されたディレクトリの位置であることがわかった。
次に、コマンドラインで./main.exe testと実行すると、
[C:\Users\Ryoko Saito\workspace\go\cmd\main.exe test] test
と表記される。
これで、testがos.Argsの引数の1番目に入ったということがわかる。
main.go内のfmt.Println(os.Args[1])をfmt.Println(os.Args[2])に変更して、
$ ./main.exe test 5を実行すると
[C:\Users\Ryoko Saito\workspace\go\cmd\main.exe test 5] 5
と表示される。