go 标准包flag的基本用法

相关用法见代码
flag.Type()

# 通过 flag.Type() 返回对应类型的指针,姐应用后使用该值
package main
import (
"flag"
"fmt"
"time"
)
func main() {
// 通过 flag.Type() 返回对应类型的指针,姐应用后使用该值
name := flag.String("name", "张三", "姓名")
age := flag.Int("age", 18, "年龄")
married := flag.Bool("married", false, "婚否")
delay := flag.Duration("d", 0, "时间间隔")
flag.Parse()
fmt.Printf("name: %s, age: %d, married: %t, delay: %v", *name, *age, *married, *delay)
}

flag.TypeVar()

package main
import (
"flag"
"fmt"
"time"
)
func main() {
// 通过 flag.typeVar() 返回对应类型的值
var name string
var age int
var married bool
var delay time.Duration
flag.StringVar(&name, "name", "张三", "姓名")
flag.IntVar(&age, "age", 35, "年龄")
flag.BoolVar(&married, "married", false, "婚否")
flag.DurationVar(&delay, "delay", 0, "延迟")
flag.Parse()
fmt.Printf("name: %s, age: %d, married: %t, delay: %v\n", name, age, married, delay)
fmt.Println("命令行后的其他参数:", flag.Args())
fmt.Println("命令行后的参数个数:", flag.NArg())
fmt.Println("使用的命令个数:", flag.NFlag())
/*
$ ./main -help
Usage of D:\demo1\src\demo23\go-flag-demo\main:
-age int
年龄 (default 35)
-delay duration
延迟
-married
婚否
-name string
姓名 (default "张三")
$ ./main -name=李四 -age=60 -married=true -delay=2h38m30s a b c
name: 李四, age: 60, married: true, delay: 2h38m30s
命令行后的其他参数: [a b c]
命令行后的参数个数: 3
使用的命令个数: 4
*/
}

posted on   进击的davis  阅读(37)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-03-23 python uuid的连接及简单应用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示