ZBLOG

golang 如何解析命令行参数

Go语言提供了一个标准库flag来解析命令行参数。

flag包定义了三种类型的命令行参数:布尔型(bool)、字符串型(string)和整型(int)。flag包中定义的函数有:

· BoolVar:用于定义一个布尔型的命令行参数,并将其值赋给指定的变量;

· StringVar:用于定义一个字符串型的命令行参数,并将其值赋给指定的变量;

· IntVar:用于定义一个整型的命令行参数,并将其值赋给指定的变量;

· Parse:用于解析命令行参数;

下面是一个例子:

package main

import (
    "flag"
    "fmt"
)

func main() {
    var name string
    var age int
    var married bool

    flag.StringVar(&name, "name", "张三", "姓名,默认为张三")
    flag.IntVar(&age, "age", 18, "年龄,默认为18")
    flag.BoolVar(&married, "married", false, "婚否,默认为false")

    flag.Parse()

    fmt.Println(name, age, married)
}

上面的代码中,我们通过flag包定义了三个命令行参数:-name-age-married。其中,-name-married是字符串型和布尔型的参数,需要使用StringVarBoolVar函数进行定义;而-age是整型参数,需要使用IntVar函数。

在定义命令行参数后,我们调用flag.Parse()函数来解析命令行参数。在解析完成后,我们可以通过定义的变量来获取相应的命令行参数值。

如果运行上面的代码,并输入以下命令:

./main -name=lisi -age=20 -married=true

那么输出结果为:

lisi 20 true

可以看到,程序成功解析了命令行参数,并将其赋值给了对应的变量。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=628

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?