golang os.Args (转)

转自:301-golang之命令行参数os.Args

os.Args

获取运行时的参数,是一个切片Slice,第一个值是当前可运行文件的绝对路径

import (
    "os"
    "fmt"
)

func main() {
 
        cmds := os.Args
 
        for i, cmd := range cmds {
                fmt.Printf("cmd[%d] = %s \n", i, cmd)
        }
}

在命令行运行 go run test.go,输出结果如下

cmd[0] = C:\Users\ADMINI~1\AppData\Local\Temp\go-build142125990\b001\exe\test.exe

然后我们运行 go run test.go hello world,输出结果如下

cmd[0] = C:\Users\ADMINI~1\AppData\Local\Temp\go-build052083198\b001\exe\test.exe
cmd[1] = hello
cmd[2] = world

参考:301-golang之命令行参数os.Args

应用场景

1、结合 path/filepath 包,获取当前可运行文件的路径

dir, err := filepath.Abs(filepath.Dir(os.Args[0]))

2、启动时给程序传参

posted @ 2022-10-19 22:21  Lucky小黄人^_^  阅读(75)  评论(0)    收藏  举报