2-常用标准库之-flag
一 介绍
开发命令行程序时,经常需要接受命令行传入的参数
如这种 运行程序时,传入参数,app.exe -name=lqz age=99
flag包提供了参数处理的功能,官方文档地址:https://golang.google.cn/pkg/flag/
二 使用方式一(flag.String flag.Int)
func main() {
// 1 flag.String flag.Int
//第一个参数:命令行参数的名称
//第二个参数:命令行不输入时的默认值
//第三个参数:该参数的描述信息,help命令时会显示
fptr := flag.String("path", "test.txt", "file path to read from")
//命令行中输入:go run t_flag.go --path=a.txt
//go run t_flag.go --path a.txt
//go run t_flag.go -path a.txt
//fptr := flag.Int("path ", 99, "file path to read from")
//命令行中输入:go run t_flag.go -path=55
flag.Parse() //在程序访问 flag 之前,必须先调用 flag.Parse()
fmt.Println("value of path is", *fptr) //使用解引用
}
三 使用方式二(flag.StringVar flag.IntVar)
func main() {
//第一个参数:存放值的参数地址
//第二个参数:命令行参数的名称
//第三个参数:命令行不输入时的默认值
//第四个参数:该参数的描述信息,help命令时会显示
var (
name string
age int
)
flag.StringVar(&name, "name", "lqz", "use of name")
flag.IntVar(&age, "age", 99, "use of age")
//命令行中输入:go run t_flag.go -name=xxx
flag.Parse()
fmt.Println("传入的名字为", name, "传入的年龄为:", age)
}
作者:liuqingzheng
出处:https://www.cnblogs.com/liuqingzheng/p/15997379.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具