~/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

と表示される。