【go语言】4.2.1 flag 包的使用

81 阅读1分钟

在 Go 中,flag 包提供了创建命令行接口(CLI)的工具,可以用于解析命令行参数。以下是一些 flag 包的基本使用方法:

定义一个标志

你可以使用 flag 包的 StringVarIntVarBoolVar 等函数定义一个标志。这些函数接受三个参数:一个指向变量的指针,标志的名字,标志的默认值和标志的描述。

例如:

var name string
flag.StringVar(&name, "name", "World", "your name")

解析标志

在定义了所有标志后,你需要调用 flag.Parse 函数来解析命令行参数。

例如:

flag.Parse()

使用标志

解析后,你可以直接使用标志变量。

例如:

fmt.Printf("Hello, %s!\n", name)

完整的例子

以下是一个完整的例子,这个程序接受一个 -name 标志,并打印一条欢迎消息:

package main

import (
	"flag"
	"fmt"
)

func main() {
	var name string
	flag.StringVar(&name, "name", "World", "your name")

	flag.Parse()

	fmt.Printf("Hello, %s!\n", name)
}

如果你运行这个程序,并使用 -name 标志传入你的名字,例如 go run main.go -name Alice,它将打印 Hello, Alice!

flag 包提供了很多其他的功能,如定义自己的标志类型,处理子命令等。更多详细的信息,你可以查阅 Go 文档 ↗。希望这个简单的介绍可以帮助你开始使用 flag 包创建你的 CLI 应用。 推荐阅读:

mp.weixin.qq.com/s/dV2JzXfgj…

mp.weixin.qq.com/s/an83QZOWX…

file