首页 > 其他分享 >go的标准库之flag包和log包

go的标准库之flag包和log包

时间:2024-05-29 14:10:45浏览次数:13  
标签:username log fmt flag 参数 go password

1、flag包

用处:在 Go 语言中,flag 包是用来解析命令行参数的
例如:查看docker的版本
image
-v就是命令行参数
2种常用的用法:

a、flag.Type(flag名, 默认值, 帮助信息)

	name := flag.String("username", "admin", "这是一个用户名参数的描述")
	pwd := flag.Int("password", 123456, "这是一个用户密码参数的描述")
	flag.Parse()
	fmt.Printf("用户名:%s\n", *name)
	fmt.Printf("密码:%d\n", *pwd)

终端输入

go run main.go -username "fans" -password 654321

image
如果不加flag.Parse(),命令行参数不会被改变,将输出默认值admin和123456(即使命令行中提供了 -username 和 -password 参数,它们也不会被读取和更新)。

b、flag.TypeVar(Type指针, flag名, 默认值, 帮助信息)

var username string
var password int
flag.StringVar(&username, "username", "admin", "这是一个用户名参数的描述")
flag.IntVar(&password, "password", 123456, "这是一个用户密码参数的描述")
flag.Parse()
fmt.Printf("用户名:%s\n", name)
fmt.Printf("密码:%d\n", pwd)

输出结果与a一致,a和b方法的区别在于,a中的输出结果要通过指针打印参数,b中需要传入地址值,可以直接打印参数。

2、log包

标签:username,log,fmt,flag,参数,go,password
From: https://www.cnblogs.com/xfans520/p/18220172

相关文章

  • Golang中的三种指针
    三种类型的指针:类型用途备注普通类型指针传递对象的地址,不能做指针运算uintptr作为一段内容的首地址,可以做指针运算,GC不把uintptr当指针,uintptr无法持有对象。uintptr类型的目标会被回收。unsafe.Pointer不能做指针运算,可以用做在不同数据类型指针间转......
  • python社区宠物登记养宠交流系统vue+flask_django包调试pycharm
    有何创新之处(1)系统资源闭环整合,实现了综合功能高度集成。(2)采用DJANGO框架,开发软件更加方便、快捷、高效用户具体功能如下:1、社区管理员:注册、登录、个人信息管理、发帖管理、评论管理、宠物规范管理、社区用户管理、宠物类别管理、宠物信息管理(查询宠物信息,修改宠物信息,删......
  • Sirupsen/logrus是一个日志库
    Golang:Sirupsen/logrus是一个日志库原创吃个大西瓜CodingBigTree2024-05-2808:00北京听全文图片 Sirupsen/logrus是一个日志库 文档 https://github.com/Sirupsen/logrus安装 gogetgithub.com/sirupsen/logrus代码示例 packagemain import( ......
  • 深入探索 MongoDB:高级索引解析与优化策略
    MongoDB是一种非常流行的NoSQL数据库,它支持丰富的索引类型和功能,以提高数据查询的效率和性能。本文将详细介绍MongoDB的高级索引,包括基本语法、常用命令、示例、应用场景、注意事项和总结。基本语法在MongoDB中,可以使用createIndex()方法创建索引,语法如下:db.col......
  • Google难架马甲多
    今年谷歌上架的难度可谓是地狱级别。可是国内马甲这么多,总要摸索出一些套路来。这里总结几条开源aab混淆策略。1、as自带混淆是必要的,否则就是源码提包,相当于到谷歌门口举个牌子说我是马甲包。不仅要驳回,还要被封号。所以这个得加上。2、做了第一步,也还只是个小孩。只是......
  • SpringBoot如何使用日志Logback,及日志等级详解
    SpringBoot默认已经集成了SLF4J(SimpleLoggingFacadeforJava)作为日志的接口,以及Logback作为日志的实现。这意味着在大多数情况下,你无需做额外的配置即可开始记录日志。下面是一个简要的指南,包括如何在SpringBoot应用中使用SLF4J和Logback,以及一些实际的代码示例。默......
  • LeetCode 1329. Sort the Matrix Diagonally
    原题链接在这里:https://leetcode.com/problems/sort-the-matrix-diagonally/description/题目:A matrixdiagonal isadiagonallineofcellsstartingfromsomecellineitherthetopmostroworleftmostcolumnandgoinginthebottom-rightdirectionuntilreachin......
  • Red is good
    事先说明,看的题解题目描述桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元。可以随时停止翻牌,在最优策略下平均能得到多少钱。输入格式一行输入两个数R,B,其值在0到5000之间输出格式在最优策略下平均能得到多少钱。......
  • go语言之cron定时任务
    ####版本一定选对goget"github.com/robfig/cron/v3"代码如下:packagemainimport("fmt""github.com/robfig/cron/v3""os""runtime""time")//GetOS返回当前操作系统的字符串表示funcGetOS()......
  • Lesson 3 An unknown goddess 无名女神
    Howdidthearchaeologistsknowthatthestatuewasagoddess?1.原文Sometimeago,aninterestingdiscoverywasmadebyarchaeologistsontheAegeanislandofKea.AnAmericanteamexploredatemplewhichstandsinanancientcityonthepromontoryo......