这是我的实际代码:
package main
import (
"flag"
)
var loadList = ""
var threads = 50
var skip = 0
func main() {
//defaults variables
flag.StringVar(&loadList, "f", "", "load links list file (required)")
flag.IntVar(&threads,"t", 50, "run `N` attempts in parallel threads")
flag.IntVar(&skip, "l", 0, "skip first `n` lines of input")
flag.Parse()
flag.PrintDefaults()
}
这是输出:
-f string 加载链接列表文件(必填) -l n 跳过前n行输入 -t N. 在并行线程中运行N次尝试(默认为50)
我想从printdefaults -l和-t隐藏,我该怎么做?
答案 0 :(得分:0)
可能有多种方法可以做到这一点。一个简单的方法是使用VisitAll
:
func VisitAll(fn func(*Flag))
在您传递的函数中,您可以决定是否根据Flag
的任何导出字段输出标记。
示例:
flag.VisitAll(func(f *flag.Flag) {
if f.Name == "l" || f.Name == "t" {
return
}
fmt.Println("Flag: ", f)
})
运行它