go 的flag用法

package main

import (
	"flag"
	"fmt"
)


var (
	recusive bool 
	test string
	level int
)

func init() {
	flag.BoolVar(&recusive,"r",false,"recusive xxx")
	flag.StringVar(&test,"t","default string","string option")
	flag.IntVar(&level,"l",1,"level of xxx")  //存入变量名 名称  默认值  说明
	flag.Parse()  // 调用这个解析,参数才能生效
}

/*
输入:  ./flag_opt.exe -r true -t 333  -l 22 或者 ./flag_opt.exe -r  -t 333  -l 22
输出:
recusive:true
test:default string
level:1
 */

func main() {
	fmt.Printf("recusive:%v\n",recusive)
	fmt.Printf("test:%v\n",test)
	fmt.Printf("level:%v\n",level)
}

输出:

D:\GoPath\src\MyProject\pingguoxueyuan\gostudy\listen14\flag_opt>flag_opt.exe  -r true -t 333  -l 22
recusive:true
test:default string
level:1

D:\GoPath\src\MyProject\pingguoxueyuan\gostudy\listen14\flag_opt>flag_opt.exe  -h
Usage of flag_opt.exe:
  -l int
        level of xxx (default 1)
  -r    recusive xxx
  -t string
        string option (default "default string")
posted @   ty1539  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2021-04-03 9.4 如何实现属性可修改的函数装饰器?
2021-04-03 os模块遍历文件
2021-04-03 9.3 如何定义带参数的装饰器?
2021-04-03 9.2 如何为被装饰的函数保存元数据?
2021-04-03 python的如何通过实例方法名字的字符串调用方法?
2021-04-03 9.1 如何使用函数装饰器 用装饰器解决重复计算问题
2021-04-03 asyncio 笔记
点击右上角即可分享
微信分享提示