首先定义version和help标志,再通过flag.Parse()解析;编译时用-ldflags注入版本信息,运行时根据标志输出对应内容。

为你的Golang命令行工具添加版本号和帮助信息,能显著提升用户体验。用户可以通过
--version
--help
flag
在
main
flag.Bool
version
help
var versionFlag = flag.Bool("version", false, "显示程序版本")
var helpFlag = flag.Bool("help", false, "显示帮助信息")
调用
flag.Parse()
直接在代码中写死版本号不够灵活。推荐在编译时通过
-ldflags
立即学习“go语言免费学习笔记(深入)”;
go build -ldflags "-X main.version=1.0.0 -X main.commit=abc123 -X main.date=$(date -u +%Y-%m-%d)"
为此,你需要在代码中定义变量:
var (
version = "dev"
commit = "none"
date = "unknown"
)
这样在运行时就能输出完整的版本详情。
解析标志后,加入逻辑分支:
if *versionFlag {
fmt.Printf("版本: %s\n", version)
fmt.Printf("提交: %s\n", commit)
fmt.Printf("构建时间: %s\n", date)
os.Exit(0)
}
if *helpFlag {
fmt.Println("用法: your-tool [选项]")
fmt.Println("选项:")
flag.PrintDefaults()
os.Exit(0)
}
flag.PrintDefaults()
基本上就这些。只要定义标志、注入版本、输出信息,你的命令行工具就会显得专业又实用。不复杂但容易忽略细节。
以上就是如何为你的Golang命令行工具添加版本号和帮助信息的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号