外部からGoに引数を渡す方法は?
Golang では、パラメータはコマンドライン引数または環境変数から外部から渡すことができます。
- コマンドライン引数を使用して
コマンドライン引数を取得するには os.Args を使うことができます。os.Args は文字列のスライスであり、最初の引数は実行ファイルへのパスで、続く引数はプログラムに渡される引数です。
例えば、以下のコードではコマンドライン引数をすべて出力します。
package main
import (
"fmt"
"os"
)
func main() {
args := os.Args[1:] // 获取除了可执行文件路径之外的所有参数
for _, arg := range args {
fmt.Println(arg)
}
}
上記コードを main.go として保存し、コマンドラインから実行するとします。
go run main.go arg1 arg2 arg3
出力されます:
arg1
arg2
arg3
- 環境変数を使用する:
環境変数の値を取得するには、os.Getenv 関数を使用します。この関数は環境変数名を引数に取り、対応する値を返します。
例えば、次のコードには MY_VAR 環境変数の値が出力されます。
package main
import (
"fmt"
"os"
)
func main() {
value := os.Getenv("MY_VAR")
fmt.Println(value)
}
上記コードを main.go などとして保存し、MY_VAR という環境変数を設定してコマンドラインで実行する場合
export MY_VAR=myvalue
go run main.go
出力する
myvalue
Goにおける外部からのパラメータの渡し方に関する2つの一般的な方法を以上で説明しました。