标准库之 flag、strconv
1|0一、flag库
- flag库的作用同python中的
sys.argv
差不多,是Go语言自带的解析运行Go脚本时,后面跟着的参数(俗称:命令行参数)的一个库 - 定义好flag之后,就能像登录mysql时一样,
mysql -u root -h 192.168.30.20
,这里的-u 和 -h
就是相当于flag定义好的参数名 - flag接收的命令行参数可以直接使用,因为它们的类型是定义flag参数时已经指定好的
1|11. flag的简单替代
- 若你只是想简单的获取命令行参数,可以使用
os.Args
方法获取,只能接收成string
类型,后面需要根据需求自己转换类型
1|22. flag的参数类型
- flag包支持的命令行参数类型有
bool
、int
、int64
、uint
、uint64
、float
float64
、string
、duration
,在定义时,这些类型的首字母要大写
flag参数 | 有效值 |
---|---|
字符串flag | 合法字符串 |
整数flag | 1234、0664、0x1234等类型,也可以是负数 |
浮点数flag | 合法浮点数 |
bool类型flag | 1, 0, t, f, T, F, true, false, TRUE, FALSE, True, False |
时间段flag | 任何合法的时间段字符串。如”300ms”、”-1.5h”、”2h45m” 合法的单位有”ns”、”us” /“µs”、”ms”、”s”、”m”、”h” |
1|33. flag参数的定义
- 共有两种定义方式
(1)flag.Type()
(2)flag.TypeVar()
1|44. flag解析命令行参数
flag.Parse()
方法用来解析上面定义的flag参数,只有解析之后程序才能接收到命令行参数- 只有命令行参数使用规定的写法,
flag.Parse()
才能正确解析
1|55. flag其他方法
2|0二、strconv库
- Go语言中
strconv
包实现了基本数据类型和字符串之间的相互转换 - 这里只介绍了strconv库中常用的几个函数:
Atoi()
、Itia()
、parse系列、format系列、append系列 - 浮点型和整型之间可以通过
int() float()
函数直接强制转换,但是它们和字符串之间是不能直接用string()
转换的
2|11. string转换为int类型
Atoi()
方法实现了字符串转换成整型
2|22. int转换为string类型
Itoa()
方法实现了整型转换成字符串类型
2|33. Parse系列函数
- Parse类函数作用是将字符串转换为指定类型的值
- 共有如下几种方法
ParseBool()、ParseInt()、ParseUint()、ParseFloat()
(1)ParseBool()
(2)ParseInt()
(3)ParseUnit()
(4)ParseFloat()
(5)示例
2|44. Format系列函数
- Format系列函数实现了将给定类型数据格式化为string类型数据的功能
- 共有如下几种方法
FormatBool()、FormatInt()、FormatUint()、FormatFloat()
(1)FormatBool()
(2)FormatInt()
(3)FormatUint()
(4)FormatFloat()
(5)示例
2|55. 其他(了解即可)
(1)isPrint()
(2)CanBackquote()
__EOF__

本文作者:BigSun丶
本文链接:https://www.cnblogs.com/Mcoming/p/18055993.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Mcoming/p/18055993.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现