我正在尝试为Go写一个GNU风格的命令行解析器,因为该flags包还不能处理所有这些:program -aAtGc --long-option-1 argument-to-1 --long-option-2 -- real-argument显然,我不想使用该flags软件包,因为我正试图替换它。还有其他方法可以进入命令行吗?
2 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
没关系。
package main
import (
"fmt"
"os"
)
func main() {
args := os.Args
fmt.Printf("%d\n", len(args))
for i := 0; i<len(args); i++ {
fmt.Printf("%s\n", args[i])
}
}
但是,该文档还很不完整。
湖上湖
TA贡献2003条经验 获得超2个赞
os.Args的第一个参数是go文件的名称,因此,仅获取命令行参数,您应该执行以下操作
package main
import (
"fmt"
"os"
)
func main() {
args := os.Args[1:]
for i := 0; i<len(args); i++ {
fmt.Println(args[i])
}
}
- 2 回答
- 0 关注
- 258 浏览
添加回答
举报
0/150
提交
取消