为了账号安全,请及时绑定邮箱和手机立即绑定

如何在没有“ flags”包的情况下在Go中获取命令行参数?

如何在没有“ flags”包的情况下在Go中获取命令行参数?

Go
芜湖不芜 2021-03-21 12:17:58
我正在尝试为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])

    }

}

但是,该文档还很不完整。


查看完整回答
反对 回复 2021-03-22
?
湖上湖

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])

    }

}


查看完整回答
反对 回复 2021-03-22
  • 2 回答
  • 0 关注
  • 258 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信