gpt4 book ai didi

go - Golang Getopt V2:解析多个重复的标志

转载 作者:行者123 更新时间:2023-12-01 22:20:46 25 4
gpt4 key购买 nike

我是golang的新手,我无法使用getopt版本2找到解决此问题的方法。

./example -v i=5 -v j=6 -v k=7 
我要使用此处所示的标志v https://www.gnu.org/software/gawk/manual/html_node/Options.html

最佳答案

以下代码能够解析同一标志的多个选项,因此对于上面的示例,它将打印[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()
}

关于go - Golang Getopt V2:解析多个重复的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63648578/

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