3 回答
TA贡献1826条经验 获得超6个赞
您可以定义自己的flag.Value并flag.Var()用于绑定它。
例子在这里。
然后你可以传递多个标志,如下所示:
go run your_file.go --list1 value1 --list1 value2
UPD:包括代码片段以防万一。
package main
import "flag"
type arrayFlags []string
func (i *arrayFlags) String() string {
return "my string representation"
}
func (i *arrayFlags) Set(value string) error {
*i = append(*i, value)
return nil
}
var myFlags arrayFlags
func main() {
flag.Var(&myFlags, "list1", "Some description for this param.")
flag.Parse()
}
TA贡献1836条经验 获得超4个赞
通过使用该flag.Args()函数,您至少可以在命令的末尾有一个参数列表。
package main
import (
"flag"
"fmt"
)
var one string
func main() {
flag.StringVar(&one, "o", "default", "arg one")
flag.Parse()
tail := flag.Args()
fmt.Printf("Tail: %+q\n", tail)
}
my-go-app -o 1 this is the rest 将打印 Tail: ["this" "is" "the" "rest"]
- 3 回答
- 0 关注
- 201 浏览
添加回答
举报