golang 基础库之go获取命令行参数,介绍了如何获取命令行参数
获取命令行参数
Golang 版本
1.12.1
实现
package main
import (
"fmt"
"os"
)
func main() {
args := os.Args
// 打印所有命令行参数
fmt.Println(args)
// 第一个参数,即slice中的零项,是被调用二进制文件的名称
programName := args[0]
fmt.Printf("二进制名称是: %s \n", programName)
// 其余的参数可以通过省略第一个参数来获得
otherArgs := args[1:]
fmt.Println(otherArgs)
for idx, arg := range otherArgs {
fmt.Printf("参数 %d = %s \n", idx, arg)
}
}
原理
Go标准库提供了一些访问程序调用参数的方法。最通用的方法是通过os
包中的Args
变量访问参数。
这样,可以从字符串切片中获取命令行所有参数。 这种方法的优点是参数的数量是动态的。
详细地说,os.Args[0]
将返回程序名称。os.Args[1:]
没有二进制名称的其余参数。
在现实世界中,最好不要依赖传递给程序的参数数量,而是始终检查参数数组的长度。否则,如果给定索引上的参数不在范围内,程序就会恐慌。