Go by Example: Command-Line Arguments

コマンドライン引数 は、プログラムの実行をパラメーター化する一般的な方法です。 例えば、go run hello.go は、runhello.gogo プログラムの引数として使います。

package main
import (
    "fmt"
    "os"
)
func main() {

os.Args は、生のコマンドライン引数へのアクセスを提供します。 このスライスの 1 つ目の値は、プログラム自身のパスで、 os.Args[1:] がプログラムへの引数を保持することに 注意してください。

    argsWithProg := os.Args
    argsWithoutProg := os.Args[1:]

個々の引数はインデックスを使って通常通り取得できます。

    arg := os.Args[3]
    fmt.Println(argsWithProg)
    fmt.Println(argsWithoutProg)
    fmt.Println(arg)
}

コマンドライン引数を試すには、go build で先にバイナリをビルドするのがよいです。

$ go build command-line-arguments.go
$ ./command-line-arguments a b c d
[./command-line-arguments a b c d]
[a b c d]
c

次は、フラグを使ったさらに進んだコマンドライン処理を 見ていきましょう。

Next example: Command-Line Flags.