【Golang】flag标准库学习笔记

108 阅读1分钟

一、简介

Go语言的flag标准库是用于解析命令行参数的库。我们可以使用flag标准库接受用户在命令行界面提供的参数和选项。

二、一个简单的实例

// flagDemo.go

package main

import (
	"flag"
	"fmt"
)

func main() {
	// 定义命令行选项。Guest和0是默认值,在用户未提供参数时使用。第三个参数是说明。
	name := flag.String("name", "Guest", "用户自己提供的姓名参数")
	age := flag.Int("age", 0, "用户自己提供的年龄参数")

	// 接收并解析命令行参数
	flag.Parse()

	// 使用选项的值,格式化打印
	fmt.Printf("Hello, %s! You are %d years old.\n", *name, *age)
}

要调试这段代码,首先需要使用go build命令进行编译。

go build flagDemo.go

编译后,在运行可执行文件的命令的同时提供命令行参数

flagDemo -name Alice -age 25

运行结果如下:

image.png

如果不提供参数直接运行,运行结果如下:

image.png

三、其他

在示例代码中,有两个命令行选项:nameage

这两个选项的值将作为相应类型的指针返回至程序。

更多详细信息参见Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 (studygolang.com)