首页 > 后端开发 > Golang > 如何在 Golang 中将值列表解析为标志?

如何在 Golang 中将值列表解析为标志?

Patricia Arquette
发布: 2024-11-16 16:18:03
原创
963 人浏览过

How to Parse a List of Values as a Flag in Golang?

在 Golang 中获取值列表作为标志

在 Golang 中,标准标志包提供了从命令解析标志的功能line,但它本质上仅支持基本类型,例如字符串、整数和布尔值。要将值列表作为标志处理,可以实现自定义 flag.Value 类型并利用 flag.Var() 来绑定它。

下面提供了一个示例实现:

import (
    "flag"
    "fmt"
)

type arrayFlags []string

// String is a required implementation of the flag.Value interface
func (i *arrayFlags) String() string {
    return fmt.Sprintf("%v", *i)
}

// Set is another required implementation of the flag.Value interface
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 parameter.")
    flag.Parse()
}
登录后复制

这个自定义的flag类型可以用来传递多个flag值,例如:

go run your_file.go --list1 value1 --list1 value2
登录后复制

总之,通过实现自定义的flag.Value类型并利用flag.Var(),Golang允许开发者将值列表解析为标志,为命令行参数处理提供更大的灵活性。

以上是如何在 Golang 中将值列表解析为标志?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板