gpt4 book ai didi

Golang 标志 : Ignore missing flag and parse multiple duplicate flags

转载 作者:IT王子 更新时间:2023-10-29 01:26:25 33 4
gpt4 key购买 nike

我是 Golang 的新手,我一直无法使用标志找到解决此问题的方法。

我如何使用标志以便我的程序可以处理这样的调用,其中 -term 标志可能出现可变次数,包括 0 次:

./myprogram -f flag1
./myprogram -f flag1 -term t1 -term t2 -term t3

最佳答案

您需要声明您自己的类型,它实现了 Value 接口(interface)。这是一个例子。

// Created so that multiple inputs can be accecpted
type arrayFlags []string

func (i *arrayFlags) String() string {
// change this, this is just can example to satisfy the interface
return "my string representation"
}

func (i *arrayFlags) Set(value string) error {
*i = append(*i, strings.TrimSpace(value))
return nil
}

然后在解析标志的主函数中

var myFlags arrayFlags

flag.Var(&myFlags, "term", "my terms")
flag.Parse()

现在所有的术语都包含在 slice myFlags

关于Golang 标志 : Ignore missing flag and parse multiple duplicate flags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45487377/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com