在 Go 语言中,flag
包提供了命令行参数解析的功能,可以方便地从命令行中获取输入参数。使用 flag
包,你可以定义命令行参数,并解析用户提供的参数值。
以下是一个 flag
包的示例:
package main
import (
"flag"
"fmt"
)
func main() {
// 定义命令行参数
name := flag.String("name", "guest", "请输入你的名字")
age := flag.Int("age", 18, "请输入你的年龄")
married := flag.Bool("married", false, "请输入你的婚姻状况")
// 解析命令行参数
flag.Parse()
// 输出命令行参数的值
fmt.Println("名字:", *name)
fmt.Println("年龄:", *age)
fmt.Println("婚姻状况:", *married)
}
编译并运行以上代码,执行命令 go run main.go -name Alice -age 25 -married=true
,输出结果如下:
在示例中,我们首先使用 flag.String()
、flag.Int()
和 flag.Bool()
方法定义了三个命令行参数分别对应字符串、整数和布尔类型的值。这些方法的第一个参数是命令行参数的名称,第二个参数是默认值,第三个参数是参数的说明。
然后,我们调用 flag.Parse()
方法解析命令行参数,使得我们可以在代码中获取用户提供的参数值。
最后,我们使用 *name
、*age
和 *married
来获取相应的命令行参数的值,并输出到控制台上。
你可以根据需要定义更多的命令行参数,并在代码中根据参数值进行相应的逻辑处理。