cli框架 获取 命令行 参数
package main import (
"fmt"
"log"
"os" "github.com/urfave/cli"
) func main() {
//实例化一个命令行程序
oApp := cli.NewApp()
//程序名称
oApp.Name = "GoTool"
//程序的用途描述
oApp.Usage = "To save the world"
//程序的版本号
oApp.Version = "1.0.0" //预置变量
var host string
var debug bool //设置启动参数
oApp.Flags = []cli.Flag{
//参数string, int, bool
&cli.StringFlag{
Name: "host", //参数名称
Value: "127.0.0.1", //参数默认值
Usage: "Server Address", //参数功能描述
Destination: &host, //接收值的变量
},
&cli.IntFlag{
Name: "port, p",
Value: 8888,
Usage: "Server port",
},
&cli.BoolFlag{
Name: "debug",
Usage: "debug mode",
Destination: &debug,
},
}
//该程序执行的代码
oApp.Action = func(c *cli.Context) error {
fmt.Println("Test")
fmt.Printf("host=%v \n", host)
fmt.Printf("port=%v \n", c.Int("port")) //不使用变量接收,直接解析
fmt.Printf("debug=%v \n", debug)
return nil
} //设置多个命令,不同的命令执行不同的操作
//oApp.Commands = []cli.Command{
// {
// //命令全称
// Name: "lang",
// //命令简写
// Aliases: []string{"l"},
// //命令详细描述
// Usage: "Setting language",
// //命令处理函数
// Action: func(c *cli.Context) {
// //通过c.Args().First()获取命令行参数
// fmt.Printf("language=%v \n", c.Args().First())
// },
// },
// {
// Name: "encode",
// Aliases: []string{"e"},
// Usage: "Setting encoding",
// Action: func(c *cli.Context) {
// fmt.Printf("encoding=%v \n", c.Args().First())
// },
// },
//} if err := oApp.Run(os.Args); err != nil {
log.Fatal(err)
} }
➜ test go run testNew.go --port 777 --host=8.0.0.0 --debug=true
Test
host=8.0.0.0
port=777
debug=true
cli框架 获取 命令行 参数的更多相关文章
- pytest框架之命令行参数1
前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作.pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixtur ...
- Python测试框架pytest命令行参数用法
在Shell执行pytest -h可以看到pytest的命令行参数有这10大类,共132个 序号 类别 中文名 包含命令行参数数量 1 positional arguments 形参 1 2 gene ...
- pytest框架之命令行参数2
前言 上篇博客说到命令行执行测试用例的部分参数如何使用?今天将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则! pytest执行用例命令行参数 --collect-only:罗列出所 ...
- [Go] gocron源码阅读-通过第三方cli包实现命令行参数获取和管理
gocron源码中使用的是下面这个第三方包来实现的,下面就单独的拿出来测试以下效果,和官方flag包差不多 go get github.com/urfave/cli package main impo ...
- Hive Beeline 命令行参数
[hadoop@hive ~]$ beeline --help[中文版] The Beeline CLI 支持以下命令行参数: Option Description --autoCommit=[tru ...
- 如何获取PHP命令行参数
使用 PHP 开发的同学多少都会接触过 CLI 命令行.经常会有一些定时任务或者一些脚本直接使用命令行处理会更加的方便,有些时候我们会需要像网页的 GET . POST 一样为这些命令行脚本提供参数. ...
- Delphi 获取进程路径及命令行参数
Delphi 获取进程路径及命令行参数, 但有的进程获取时会报错,不知为啥 type PVOID64 = UINT64; _UNICODE_STRING = packed record Length ...
- 使用 Apache Commons CLI 解析命令行参数示例
很好的输入参数解析方法 ,转载记录下 转载在: https://www.cnblogs.com/onmyway20xx/p/7346709.html Apache Commons CLI 简介 Apa ...
- C#中如何获取其他进程的命令行参数 ( How to get other processes's command line argument )
Subject: C#中如何获取其他进程的命令行参数 ( How to get other processes's command line argument )From: jian ...
随机推荐
- Spring Boot入门系列(十七)整合Mybatis,创建自定义mapper 实现多表关联查询!
之前讲了Springboot整合Mybatis,介绍了如何自动生成pojo实体类.mapper类和对应的mapper.xml 文件,并实现最基本的增删改查功能.mybatis 插件自动生成的mappe ...
- git bash中提示 bash:node: command not found
昨天小伙伴私信,git bash以及windows 的cmd命令行下均无法运行node npm. 究其原因是环境变量的问题.解决步骤: 1>在"此电脑"中右击,选择" ...
- 理解css中min-width和max-width,width与它们之间的区别联系
css中,min-width是用来限制元素的最小宽度,max-width用来限制元素的最大宽度,也就是说当元素的width大于max-width,或者小于min-width.就被它们的值所代替,尤其适 ...
- 20 个 CSS高级样式技巧汇总
使用技巧会让人变的越来越懒,没错,我就是想让你变懒.下面是我收集的CSS高级技巧,希望你懒出境界. 1. 黑白图像 这段代码会让你的彩色照片显示为黑白照片,是不是很酷? img.desaturate ...
- SCSS笔记
SASS是成熟,稳定,强大的 CSS预处理器 ,而 SCSS 是SASS3版本当中引入的新语法特性,完全兼容CSS3的同时继承了CSS强大的动态功能. CSS书写代码规模较大的web应用时,容易造成选 ...
- python入门007
一.深浅copy 浅拷贝:是把原列表第一层的内存地址完全拷贝一份给新列表.即只能保证对原列表中第一层地址(不可变类型)的改操作不受影响,涉及到原列表中第二层地址(可变类型)的改操作时,原列表变,新列表 ...
- mysql自连接和外连接知识点及相关案例
#三.自连接 #查询员工的名字.上级的名字 SELECT e.last_name, m.last_name FROM employees e JOIN employees m ON e.manager ...
- iOS刨根问底-深入理解GCD
概述 做过iOS开发的同学相信对于GCD(Grand Central Dispatch)并不陌生,因为在平时多线程开发过程中GCD应该是使用最多的技术甚至它要比它的上层封装NSOperation还要常 ...
- scrapy 基础组件专题(十四):scrapy CookiesMiddleware源码
一 Scrapy框架--cookie的获取/传递/本地保存 1. 完成模拟登陆2. 登陆成功后提取出cookie,然后保存到本地cookie.txt文件中3. 再次使用时从本地的cookie.txt中 ...
- mongodb(二):数据库安装,部署(linux)
1.下载安装包 wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz 下载完成后解压缩压缩包 tar zxf mongod ...