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

如何处理必需和可选的命令行参数?

如何处理必需和可选的命令行参数?

Go
临摹微笑 2022-05-18 16:17:29
我想创建一个具有一些参数的脚本,例如param1, param2, param3。param1 必须设置,否则它会打印错误并退出脚本,而其他 2 个参数不是必需的。如果我运行./main param1 abc param2 good保存在 param1 中的字符串abc和在 param2 中的字符串,我该如何做一个 main good?
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

您可以使用flag包。请看下面的代码:


package main


import (

    "flag"

    "fmt"

    "os"

)


func main() {


    var param1 string

    var param2 string

    var param3 string

    var param4 string


    flag.StringVar(&param1, "param1", "", "Parameter 1")

    flag.StringVar(&param2, "param2", "", "Parameter 2")

    flag.StringVar(&param3, "param3", "", "Parameter 3")

    flag.StringVar(&param4, "param4", "", "Parameter 4")


    flag.Parse()

    if param1 == "" {

        fmt.Print("Missing required parameter 1 \n")

        os.Exit(1)

    }


}

一旦你构建了它,你就可以运行它./main -param1=abc -param2=good,它将分别设置param1和param2变量为abc和good。


查看完整回答
反对 回复 2022-05-18
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

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