我正在开发一个简单的命令行工具,但我发现默认的 Usage 消息有点缺乏。我想定义我自己的,我认为我做对了我指的是这个例子。
我注释掉了我编写的大部分代码,因此包含 main 函数的文件现在看起来像这样:
package main
import (
"flag"
"fmt"
"os"
)
func main() {
// set the custom Usage function
setupFlags(flag.CommandLine)
// define flags...
// then parse flags
flag.Parse()
// custom code that uses flag values...
}
func setupFlags(f *flag.FlagSet) {
f.Usage = func() {
fmt.Println("foo bar")
}
}
看起来这应该有效,但事实并非如此。运行时,<binary> -h我收到默认使用消息,而不是我foo bar在自定义函数中定义的自定义消息。我在 OSX 上使用 Go 1.3.3 版。我找到了这个提交,但它是针对 Go 1.4rc2 的。
我究竟做错了什么?
largeQ
相关分类