Go 命令行参数

命令行参数是一种指定程序运行初始参数的常用方式。比如go run hello.go使用runhello.go参数来执行程序。

  1. package main
  2. import "os"
  3. import "fmt"
  4. func main() {
  5. // `os.Args`提供了对命令行参数的访问,注意该
  6. // 切片的第一个元素是该程序的运行路径,而
  7. // `os.Args[1:]`则包含了该程序的所有参数
  8. argsWithProg := os.Args
  9. argsWithoutProg := os.Args[1:]
  10. // 你可以使用索引的方式来获取单个参数
  11. arg := os.Args[3]
  12. fmt.Println(argsWithProg)
  13. fmt.Println(argsWithoutProg)
  14. fmt.Println(arg)
  15. }

在运行该程序的时候,需要首先用go build将代码编译为可执行文件,然后提供足够数量的参数。例如

  1. $ go build command-line-arguments.go
  2. $ ./command-line-arguments a b c d
  3. [./command-line-arguments a b c d]
  4. [a b c d]
  5. c