如何在Go中很好地解析程序参数列表并自动处理“--help”和/或“--version”(例如“program [-d value] [--abc] [FILE1]”)?

最佳答案

我为您而做:

package main

import (
  "fmt";
  "os"
)

func main() {
  for i, arg := range os.Args {
    if arg == "-help" {
      fmt.Printf ("I need somebody\n")
    }else if arg == "-version" {
      fmt.Printf ("Version Zero\n")
    } else {
      fmt.Printf("arg %d: %s\n", i, os.Args[i])
    }
  }
}

另请参阅https://play.golang.org/p/XtNXG-DhLI

测试:

$ ./8.out -help -version猴子业务
我需要一个人
零版本
arg 3:猴子
arg 4:业务

关于go - Go中类似getopt的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1714236/

10-16 04:00