我有一个简单的布尔标志,我希望将args传递给:
import (
"flag"
...
)
var debugMode = flag.Bool("debug", false, "run in debug mode")
flag.Parse()
if *debugMode == true {
//print something
}
此代码编译并运行 - 但变量始终为true。我使用以下电话:
my_application -debug false
它永远不会错。我做错了什么?
答案 0 :(得分:12)
我花了一个小时的时间。结果是指定布尔 args的格式为:
my_application -debug=false -another_boolean_param=boolean_value
而不是问题中所述。这很棘手:非布尔参数不需要" ="字符。