如何解决Golang Getopt V2:解析多个重复的标志
我是golang的新手,我无法使用getopt版本2找到解决此问题的方法。
./example -v i=5 -v j=6 -v k=7
我要按照此处https://www.gnu.org/software/gawk/manual/html_node/Options.html
的指示使用标志v解决方法
以下代码能够解析同一标志的多个选项,因此对于上面的示例,它将打印[i = 5 j = 6 k = 7]
package main
import (
"github.com/pborman/getopt/v2"
"fmt"
"runtime"
"github.com/gthd/helper"
)
var (
value helper.Helper
)
func init() {
getopt.FlagLong(&value,"string",'v',"strings")
}
func main() {
getopt.Parse()
strings := value.ParseMultipleOptions()
fmt.Println(strings)
}
辅助文件为
package helper
import (
"strings"
"github.com/pborman/getopt/v2"
)
type Helper []string
func (h *Helper) Set(str string,opt getopt.Option) error {
*h = append(*h,str)
_ = opt
return nil
}
func (h *Helper) String() string {
return strings.Join(h.Array(),",")
}
func (h *Helper) Array() []string {
return *h
}
func (h *Helper) ParseMultipleOptions() []string {
return h.Array()
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。