在 Go 中,flag 包提供了创建命令行接口(CLI)的工具,可以用于解析命令行参数。以下是一些 flag 包的基本使用方法:
定义一个标志
你可以使用 flag 包的 StringVar、IntVar、BoolVar 等函数定义一个标志。这些函数接受三个参数:一个指向变量的指针,标志的名字,标志的默认值和标志的描述。
例如:
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 应用。
推荐阅读: