本文整理汇总了Golang中launchpad/net/gnuflag.FlagSet.SetOutput方法的典型用法代码示例。如果您正苦于以下问题:Golang FlagSet.SetOutput方法的具体用法?Golang FlagSet.SetOutput怎么用?Golang FlagSet.SetOutput使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类launchpad/net/gnuflag.FlagSet
的用法示例。
在下文中一共展示了FlagSet.SetOutput方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: handleFlags
func (m *Manager) handleFlags(command Command, name string, args []string) (Command, []string, error) {
var flagset *gnuflag.FlagSet
if flagged, ok := command.(FlaggedCommand); ok {
flagset = flagged.Flags()
} else {
flagset = gnuflag.NewFlagSet(name, gnuflag.ExitOnError)
}
var helpRequested bool
flagset.SetOutput(m.stderr)
if flagset.Lookup("help") == nil {
flagset.BoolVar(&helpRequested, "help", false, "Display help and exit")
}
if flagset.Lookup("h") == nil {
flagset.BoolVar(&helpRequested, "h", false, "Display help and exit")
}
err := flagset.Parse(true, args)
if err != nil {
return nil, nil, err
}
if helpRequested {
command = m.Commands["help"]
args = []string{name}
} else {
args = flagset.Args()
}
return command, args, nil
}
示例2: Help
// Help renders i's content, along with documentation for any
// flags defined in f. It calls f.SetOutput(ioutil.Discard).
func (i *Info) Help(f *gnuflag.FlagSet) []byte {
buf := &bytes.Buffer{}
fmt.Fprintf(buf, "usage: %s", i.Name)
hasOptions := false
f.VisitAll(func(f *gnuflag.Flag) { hasOptions = true })
if hasOptions {
fmt.Fprintf(buf, " [options]")
}
if i.Args != "" {
fmt.Fprintf(buf, " %s", i.Args)
}
fmt.Fprintf(buf, "\n")
if i.Purpose != "" {
fmt.Fprintf(buf, "purpose: %s\n", i.Purpose)
}
if hasOptions {
fmt.Fprintf(buf, "\noptions:\n")
f.SetOutput(buf)
f.PrintDefaults()
}
f.SetOutput(ioutil.Discard)
if i.Doc != "" {
fmt.Fprintf(buf, "\n%s\n", strings.TrimSpace(i.Doc))
}
if len(i.Aliases) > 0 {
fmt.Fprintf(buf, "\naliases: %s\n", strings.Join(i.Aliases, ", "))
}
return buf.Bytes()
}