go - 将命令行字符串解析为 Golang 中的标志和参数

标签 go arguments package command-line-arguments flags

我正在寻找一个包,它可以接收诸如 -v --format "some example"-i test 之类的字符串并将其解析为字符串片段,处理引号、空格、等正确:

-v
--format
some example
-i
test

我已经检查了内置的 flag 包以及 Github 上的其他标志处理包,但它们似乎都没有处理这种将原始字符串解析为 token 的特殊情况。在尝试自己做之前,我宁愿找一个包,因为我确信有很多特殊情况需要处理。

有什么建议吗?

最佳答案

看起来类似于 shlex :

import "github.com/google/shlex"
shlex.Split("one \"two three\" four") -> []string{"one", "two three", "four"}

关于go - 将命令行字符串解析为 Golang 中的标志和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34118732/

相关文章:

go - 具有相对路径的包布局

python - 是否可以使用两个同名的 Python 包?

http - 如何使文件系统为http.Handler

intellij-idea - 使用 IntelliJ Golang 插件,如何运行整个 Golang 项目而不是单个文件?

Python:将可变(?)对象传递给方法

function - 如何在 MATLAB 中处理函数参数的名称/值对

java - 我是否需要在其自己的文件中将枚举定义为 'public',以便它可以在自己的包外被识别?

json - 通过在golang中检查MongoDB中的多个属性值来检索项目列表

go - len() 运行了多少次?

linux - 使用 perf 进行应用程序例程跟踪