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、启动时给程序传参