go基础库之go获取命令行参数

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:]没有二进制名称的其余参数。 在现实世界中,最好不要依赖传递给程序的参数数量,而是始终检查参数数组的长度。否则,如果给定索引上的参数不在范围内,程序就会恐慌。