小编jka*_*per的帖子

如何在 GoLang 中取消设置在命令行上访问的标志以进行测试

我正在尝试运行每次使用不同参数多次调用同一函数的测试。这是一个接受不同命令行标志的应用程序。如果未提供命令行标志,则使用默认值。

flagset = make(map[string]bool)
flagset["flag1"] = false
flagset["flag2"] = false
flagset["flag3"] = false
flagset["flag4"] = false
func LoadCommandLineArguments(args []string) error{
        err := flag.CommandLine.Parse(args)
        /*Do error handling
         */
       flag.Visit(func(f *flag.Flag) { flagset[f.Name] = true })
       // Iterate through all the flags and set their default values whatever was not passed on the commandline.
}

func resetFlags(){
/* Reset flag variables to their original default values and set map values to false */
flagset["flag1"] = false
flagset["flag2"] = false
flagset["flag3"] = false …
Run Code Online (Sandbox Code Playgroud)

flags command-line go

2
推荐指数
1
解决办法
3542
查看次数

标签 统计

command-line ×1

flags ×1

go ×1