我有一个程序需要 1 个或 2 个参数,具体取决于用户想要运行的内容
var (
clientSet = tools.NewClientSet(os.Args[2])
)
func main {
if os.Args[1] == "validate" {
// run validate function, no need for user to have os.Args[2]
}else if os.Args[1] == "sync" {
// run sync function that requires os.Args[2]
}
}
func foo{
tools.Manage(clientSet)
}
我需要clientSet变量是全局的,但如果用户只想使用验证函数,我不需要用户拥有 os.Args[2]。将函数放在clientSet里面main()会使我的foo()函数损坏,并且我无法声明一个具有空值的变量。
所以我希望我的用户能够顺利go run main.go validate运行go run main.go sync production。
*生产是一个任意值
我可以让我的用户运行来go run main.go validate _解决这个问题,但那会很不雅观。解决这个问题的最佳方法是什么?
呼啦一阵风
潇潇雨雨
收到一只叮咚
相关分类