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模块小结相关推荐

  1. golang中defer语句使用小结

    defer是Go语言中的延迟执行语句,用来添加函数结束时执行的代码,常用于释放某些已分配的资源.关闭数据库连接.断开socket连接.解锁一个加锁的资源.Go语言机制担保一定会执行defer语句中的代 ...

  2. 【爬虫剑谱】三卷3章 拾遗篇-有关于bs4库中的BeautifulSoup模块使用小结

    关于bs4库中的BeautifulSoup模块在实战后的快速上手小结 一.BeautifulSoup 模块 1.将 Beautiful 对象实例化的两种方法 (1)将本地 HTML 文档转为 Beau ...

  3. golang及beego框架单元测试小结

    golang及beego框架单元测试小结   单元测试是保证开发质量的一个重要手段,提及golang开发,要保证开发质量,则难以回避单元测试的使用.golang开发语言有原生提供单元测试相关代码及工具 ...

  4. PHP中可执行代码小结

    PHP中可执行代码小结 PHP中可以执行代码的函数,常用于编写一句话木马,可能导致代码执行漏洞,这里对代码执行函数做一些归纳. 常见代码执行函数,如 eval().assert().preg_repl ...

  5. 一文看懂docker容器技术架构及其中的各个模块

    概述 今天主要简单介绍下docker的技术架构及其中组成的各个模块. 技术架构 distribution 负责与docker registry交互,上传洗澡镜像以及v2 registry 有关的源数据 ...

  6. 介绍Python中的__future__模块

    这篇文章主要介绍了介绍Python中的__future__模块,__future__模块使得在Python2.x的版本下能够兼容更多的Python3.x的特性,需要的朋友可以参考下 Python的每个 ...

  7. python中的logging记录日志_[ Python入门教程 ] Python中日志记录模块logging使用实例...

    python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...

  8. python中模块和函数_Python中函数和模块的体验与使用

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...

  9. Golang中的自动伸缩和自防御设计

    Raygun服务由许多活动组件构成,每个组件用于特定的任务.其中一个模块是用Golang编写的,负责对iOS崩溃报告进行处理.简而言之,它接受本机iOS崩溃报告,查找相关的dSYM文件,并生成开发者可 ...

最新文章

  1. 负载均衡集群介绍、LVS介绍、LVS调度算法、 LVS NAT模式搭建
  2. 处理大并发之一 对异步非阻塞的理解
  3. mybatis分页应用
  4. 3.1 语音的产生与感知
  5. 【电子技术基础(精华版)】整流与滤波电路
  6. 计算机硕士工资一览表,2021年计算机硕士工资一览表.doc
  7. c语言间接寻址运算符,间接寻址运算符:*
  8. yate--sip server的学习过程
  9. asp毕业设计—— 基于asp+access的网上聊天室设计与实现(毕业论文+程序源码)——网上聊天室
  10. 服务器及电脑主机系统安全加固操作手册
  11. 编辑SRT字幕,添加在视频中播放
  12. Spark与大数据处理技术实践
  13. 自动化开发cmd封装:
  14. 微信小程序Day2学习笔记
  15. Quick--组件与基本元素
  16. Chrome无法连接到网络
  17. unity3d 5.2 添加广点通广告
  18. Android TCP socket通信
  19. 如何使用Xcode进行高保真原型设计?
  20. pcl::lineToLineSegment() 计算空间直线的交点和最小公垂线

热门文章

  1. 各个会议期刊论文录取情况
  2. 【更新链接】U盘启动制作工具(UDTOOL) v3.0.2014.0427
  3. 脚本调试工具 Microsoft Script Debugger
  4. 《机器学习实战》chapter06 支持向量机
  5. hdu 1879 继续畅通工程 最小生成树
  6. hdu 1257最少拦截系统 动态规划
  7. Ubuntu下串口通信之cutecom
  8. 参考例子,学习FuncT, TResult委托
  9. 03_Linux文件和目录
  10. java基础知识-对象和类