golang中的flag模块小结
1. flag常用函数
无论是c语言还是golang语言或是其他语言,启动应用程序时都可以带一些参数,然后系统根据传入的参数进行特点的工作。如:./main -mode online -model bert_ch. 在Go中可以方便地使用flag模块进行命令行参数解析。
// 解析字符串
type string string
func String(name string, value string, usage string) *string// 解析整数变量
type int int
func Int(name string, value int, usage string) *int// 解析bool变量
type bool bool
func Bool(name string, value bool, usage string) *booltype float64 float64
func Float64(name string, value float64, usage string) *float64type int64 int64
func Int64(name string, value int64, usage string) *int64// 解析使得参数生效
func Parse()// 给指定的参数设置值
func Set(name, value string) error// Flag结构体
type Flag struct {Name string // name as it appears on command lineUsage string // help messageValue Value // value as setDefValue string // default value (as text); for usage message
}
2. 案例测试
package mainimport ("flag""fmt"
)func main() {mode := flag.String("mode", "test", "test environment")model := flag.String("model", "bert_ch", "select_embedding_model")re_train := flag.Bool("retrain", false, "retrain bert or not")doc_num := flag.Int("docnum", 20, "session_for_RS")flag.Parse()fmt.Println("mode:", *mode)fmt.Println("model:", *model)fmt.Println("retrain:", *re_train)fmt.Println("docnum:", *doc_num)
}
测试结果:
go run main.go -mode online -model bert_ch_large -retrain false -docnum 50output=
mode: online
model: bert_ch_large
retrain: false
docnum: 50
golang中的flag模块小结相关推荐
- golang中defer语句使用小结
defer是Go语言中的延迟执行语句,用来添加函数结束时执行的代码,常用于释放某些已分配的资源.关闭数据库连接.断开socket连接.解锁一个加锁的资源.Go语言机制担保一定会执行defer语句中的代 ...
- 【爬虫剑谱】三卷3章 拾遗篇-有关于bs4库中的BeautifulSoup模块使用小结
关于bs4库中的BeautifulSoup模块在实战后的快速上手小结 一.BeautifulSoup 模块 1.将 Beautiful 对象实例化的两种方法 (1)将本地 HTML 文档转为 Beau ...
- golang及beego框架单元测试小结
golang及beego框架单元测试小结 单元测试是保证开发质量的一个重要手段,提及golang开发,要保证开发质量,则难以回避单元测试的使用.golang开发语言有原生提供单元测试相关代码及工具 ...
- PHP中可执行代码小结
PHP中可执行代码小结 PHP中可以执行代码的函数,常用于编写一句话木马,可能导致代码执行漏洞,这里对代码执行函数做一些归纳. 常见代码执行函数,如 eval().assert().preg_repl ...
- 一文看懂docker容器技术架构及其中的各个模块
概述 今天主要简单介绍下docker的技术架构及其中组成的各个模块. 技术架构 distribution 负责与docker registry交互,上传洗澡镜像以及v2 registry 有关的源数据 ...
- 介绍Python中的__future__模块
这篇文章主要介绍了介绍Python中的__future__模块,__future__模块使得在Python2.x的版本下能够兼容更多的Python3.x的特性,需要的朋友可以参考下 Python的每个 ...
- python中的logging记录日志_[ Python入门教程 ] Python中日志记录模块logging使用实例...
python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...
- python中模块和函数_Python中函数和模块的体验与使用
函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...
- Golang中的自动伸缩和自防御设计
Raygun服务由许多活动组件构成,每个组件用于特定的任务.其中一个模块是用Golang编写的,负责对iOS崩溃报告进行处理.简而言之,它接受本机iOS崩溃报告,查找相关的dSYM文件,并生成开发者可 ...
最新文章
- 负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建
- 处理大并发之一 对异步非阻塞的理解
- mybatis分页应用
- 3.1 语音的产生与感知
- 【电子技术基础(精华版)】整流与滤波电路
- 计算机硕士工资一览表,2021年计算机硕士工资一览表.doc
- c语言间接寻址运算符,间接寻址运算符:*
- yate--sip server的学习过程
- asp毕业设计—— 基于asp+access的网上聊天室设计与实现(毕业论文+程序源码)——网上聊天室
- 服务器及电脑主机系统安全加固操作手册
- 编辑SRT字幕,添加在视频中播放
- Spark与大数据处理技术实践
- 自动化开发cmd封装:
- 微信小程序Day2学习笔记
- Quick--组件与基本元素
- Chrome无法连接到网络
- unity3d 5.2 添加广点通广告
- Android TCP socket通信
- 如何使用Xcode进行高保真原型设计?
- pcl::lineToLineSegment() 计算空间直线的交点和最小公垂线