[英]How to correctly use os.Args in golang?
我需要在我的 go 代码中使用 config 并且我想从命令行加载配置路径。 我尝试:
if len(os.Args) > 1 {
configpath := os.Args[1]
fmt.Println("1") // For debug
} else {
configpath := "/etc/buildozer/config"
fmt.Println("2")
}
然后我使用配置:
configuration := config.ConfigParser(configpath)
当我使用参数(或不使用)启动我的 go 文件时,我收到类似的错误
# command-line-arguments
src/2rl/buildozer/buildozer.go:21: undefined: configpath
我应该如何正确使用 os.Args?
对于另一种方法,您可以将逻辑包装在一个函数中:
package main
import "os"
func configPath(a []string) string {
switch len(a) {
case 1: return "/etc/buildozer/config"
default: return os.Args[1]
}
}
func main() {
config := configPath(os.Args)
println(config)
}
这避免了范围界定问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.