需要带go标志的位置参数
我正在用go编写一个CLI工具,并选择github.com/jessevdk/go-flags进行CLI arg解析。我正在试图找出使位置arg成为必填项的最佳方法。目前,我有以下几点:需要带go标志的位置参数,go,arguments,command-line-interface,Go,Arguments,Command Line Interface,我正在用go编写一个CLI工具,并选择github.com/jessevdk/go-flags进行CLI arg解析。我正在试图找出使位置arg成为必填项的最佳方法。目前,我有以下几点: func main() { args, err := flags.Parse(&opts) if err != nil { panic(err) } if len(args) < 1 { panic("An s3 bucket is
func main() {
args, err := flags.Parse(&opts)
if err != nil {
panic(err)
}
if len(args) < 1 {
panic("An s3 bucket is required")
}
}
func main(){
args,err:=flags.Parse(&opts)
如果错误!=零{
恐慌(错误)
}
如果len(args)<1{
惊慌失措(“需要一个s3存储桶”)
}
}
这是可行的,但它不会导致显示帮助输出,就像标记为
“required:true”
的标志一样。有没有一种方法可以通过手动调用“打印帮助”函数或设置所需数量的位置参数来复制该行为?使用os.Args帮助可以吗?例如:
package main
import (
"fmt"
"os"
)
const Usage = `Usage:
%s one two
`
func main() {
if len(os.Args) != 3 {
fmt.Printf(Usage, os.Args[0])
os.Exit(-1)
}
//run program
}
Args保存命令行参数,以程序名开头