gol处理命令行参数 flag
os.Args获取命令行参数
os.Args是一个srting的切片,用来存储所有的命令行参数
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Args)
}

flag获取命令行参数
常用变量
flag.BoolVar:flag的值保存到指针的变量。
flag.StringVar
flag.UintVar
参数(传入的变量【指针类型】, 变量的名称【命令行指定的如:-c --help】, 默认值 帮助时打印的参数的帮助信息)
例子:
package main
import (
"flag"
"fmt"
"os"
)
var (
c string
cpu uint
t bool
d bool
h bool
)
func init() {
flag.BoolVar(&h, "h", false, "this help")
flag.StringVar(&c, "c", "", "set config `file` (default /etc/nginx/nginx.conf)")
flag.UintVar(&cpu, "cpu", 1, "set cpu `number`")
flag.BoolVar(&t, "t", false, "configtest `config file`")
flag.BoolVar(&d, "d", false, "daemon start")
flag.Usage = usage
}
func main() {
flag.Parse()
if h {
flag.Usage()
} else {
fmt.Printf("config=%s,cpu=%d,configtest=%t,help=%t,daemon=%t", c, cpu, t, h, d)
}
}
func usage() {
fmt.Fprintf(os.Stderr, `nginx version: nginx/99.10.0
Usage: nginx [-dt] [-c configfile] [-cpu cup number]
Options:
`)
flag.PrintDefaults()
}
注:-c 默认为 string 在帮助参数中加上反引号就会更改参数的类型值
gol处理命令行参数 flag的更多相关文章
- 命令行参数 && json 协议 && 自定义 error 类型
命令行参数 在写代码的时候,在运行程序做一些初始化操作的时候,往往会通过命令行传参数到程序中,那么就会用到命令行参数 例如,指定程序运行的模式和级别: go run HTTPServer.go --m ...
- GO语言标准库—命令行参数解析FLAG
flag包是Go语言标准库提供用来解析命令行参数的包,使得开发命令行工具更为简单 常用方法 1.flag.Usage 输出使用方法,如linux下ls -h的帮助输出 2.flag.Type(参数名, ...
- [Go] 命令行参数解析包(flag 包)使用详解
Go 的 flag 包可以解析命令行的参数. 一.命令行语法 命令行语法主要有以下几种形式: cmd -flag // 只支持bool类型 cmd -flag=xxx cmd -flag ...
- Go Flag包-命令行参数解析
Flag包用法 package main import ( "flag" "fmt" ) func main() { var num int var mode ...
- getopt函数的使用——分析命令行参数
getopt(分析命令行参数) getopt(分析命令行参数) 短参数的定义 返回值 范例 getopt_long 相关函数表头文件#include<unistd.h> 函数声明int g ...
- 在 Perl 中使用 Getopt::Long 模块来接收用户命令行参数
我们在linux常常用到一个程序需要加入参数,现在了解一下 perl 中的有关控制参数的模块 Getopt::Long ,比直接使用 @ARGV 的数组强大多了.我想大家知道在 Linux 中有的参数 ...
- 【转】getopt分析命令行参数
(一) 在Linux中,用命令行执行可执行文件时可能会涉及到给其加入不同的参数的问题,例如: ./a.out -a1234 -b432 -c -d 程序会根据读取的参数执行相应的操作,在C语言中,这个 ...
- getopt 分析命令行参数 -n -t 1
在Linux中,我们常常用到 ls -l 等等之类带有选项项的命令,下面,让我们用C++来实现该类似的命令. 在实现之前,首先,我们来介绍一下一个重要函数:getopt() 表头文件 #include ...
- 命令行参数处理-getopt()和getopt_long()
在实际编程当中,自己编写代码处理命令行参数是比较麻烦且易出错的.一般我们会直接使用getopt()和getopt_long()函数,下文将介绍具体的使用方法. getopt() getopt()用于处 ...
随机推荐
- 使用docker-compose+nginx+uwsgi+django部署项目
(1)centos上下载docker + docker-compose (2)基础目录 (3)首先创建一个纯净的python+django+uwsgi的镜像,便于后期使用(也可不用创建,后期docke ...
- 去掉win10的命令行
FluentTerminal 和xshell类似,多个终端在一个页面,比较舒服,可复制,可粘贴 界面: https://github.com/felixse/FluentTerminal 自己去git ...
- 学习openstack(二)
OpenStack企业私有云实践 1. 实验架构 OpenStack我们把它当作是一个全新的"Linux"系统来学习,有的时候我们也把OpenStack称之为一个新的Lin ...
- C++ | 栈的应用(逆波兰算法) | 计算器
#include <iostream> using std::cin; using std::cout; using std::endl; template<typename T&g ...
- 4_ 比例控制器_燃烧卡路里(2)_Matlab/Simulink_Proportional Control
- css3 弹性布局和多列布局
弹性盒子基础 弹性盒子(Flexible Box)是css3中盒子模型的弹性布局,在传统的布局方式上增加了很多灵活性. 定义一个弹性盒子 在父盒子上定义display属性: #box{ display ...
- 【Android开发】Android工程打压缩包技巧
android studio的: ".gradle" "*/.gradle" ".idea" "*/.idea" &qu ...
- mysql的下载和安装详细教程(windows)
Windows下安装MySQL详细教程 1.安装包下载 2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 ...
- Python简单文件读写
''' 用文件存储账户信息 使用列表存储多个账户信息,每个账户为一个字典对象 ''' users=[] #创建一个空列表 users.append({'id':'admin','pwd':'1235@ ...
- 获取bootstrap模态框点击的对应项(e.relatedTarget.dataset)
//获取绑定的自定义属性值<ul> <li data-toggle="modal" data-index="电表1111" data-targ ...