go flag 包用来解析命令行参数,通过一个简单的例子来了解下

package main

import (
    "flag"
    "fmt"
)

func main() {
    //参数1:命令行传递参数的名称  参数2:默认值   参数3:参数的说明
    username := flag.String("name", "", "Input your name")
  //注意 username 是string 的指针 type: *string 
    //  在例如:

     // var ip = flag.Int("flagname", 1234, "help message for flagname")

   //ip 的类型是: *int   

    flag.Parse()
    fmt.Println("Hello,", *username)
}
编译执行的结果如下:
davin-mac-wifi:goexample davin$ go build main.go 
davin-mac-wifi:goexample davin$ ./main -name=world   //这就是参数name的名称
Hello, world
davin-mac-wifi:goexample davin$ ./main 
Hello, 
davin-mac-wifi:goexample davin$ pwd
/Users/davin/Documents/go/workspace/src/goexample

golang flag包的更多相关文章

  1. Golang : flag 包简介

    在 Golang 程序中有很多种方法来处理命令行参数.简单的情况下可以不使用任何库,直接处理 os.Args:其实 Golang 的标准库提供了 flag 包来处理命令行参数:还有第三方提供的处理命令 ...

  2. Golang flag包使用详解(一)

    概述 flag包提供了一系列解析命令行参数的功能接口 命令行语法 命令行语法主要有以下几种形式 -flag //只支持bool类型 -flag=x -flag x //只支持非bool类型 以上语法对 ...

  3. golang flag包简单例子

    package main import ( "flag" "fmt" ) var workers int; func main() { flag.IntVar( ...

  4. Golang : pflag 包简介

    笔者在前文中介绍了 Golang 标准库中 flag 包的用法,事实上有一个第三方的命令行参数解析包 pflag 比 flag 包使用的更为广泛.pflag 包的设计目的就是替代标准库中的 flag ...

  5. golang的flag包源码解析与使用

    当我们 import  package时,package内的全局常量和全局变量会进行初始化,并且紧接着init函数会执行.因此我们先看一下flag包的全局常量和全局变量. 一.flag包的全局常量.全 ...

  6. golang flag

    本文主要对golang环境下命令行的解析进行了相关的总结.命令行在C下有getopt等函数, 在golang下提供了更为方便的处理方法. 1.命令行参数获取:命令行获得可通过os.Args参数, Ar ...

  7. Golang : cobra 包解析

    笔者在<Golang : cobra 包简介>一文中简要的介绍了 cobra 包及其基本的用法,本文我们从代码的角度来了解下 cobra 的核心逻辑. Command 结构体 Comman ...

  8. Golang fmt包使用小技巧

    h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; direction: ltr; color: #000000; line-height: 200%; te ...

  9. Go使用flag包开发命令行工具

    flag包是Go语言标准库提供用来解析命令行参数的包,使得开发命令行工具更为简单 常用方法 1.flag.Usage 输出使用方法,如linux下ls -h的帮助输出 2.flag.Type(参数名, ...

随机推荐

  1. sqlserver 2008 孤立用户解决方法

    从别一台服务器上得到一个数据库备份.还原到本地,数据库中的用户无法登录,也就是联机帮助中说的还原备份可能产生的孤立用户问题. 一.新建一个 MyDataBase 数据库 二.把备份文件放到 C 盘根目 ...

  2. iOS 为移动中的UIView(UIButton )添加点击事件

    高高兴兴迎接新的产品新需求,满心欢喜的开始工作,结果研究了一下午才发现,是自己想的太简单了,是我太单纯呀. 需求是这样的类似下雪的效果,随机产生一些小雪花,然后每个雪花可以点击到下个页面. 接到需求之 ...

  3. 开发板远程操作SQL SERVER解决方案

    环境: 开发板:freescale 2.6 armv71,系统只读,唯一可以读写的路径是/tmp/sd(这是一个sd卡).程序放在/tmp/sd/transfer下(下文以运行路径代替),sql语句以 ...

  4. JavaScript的display属性

    示例: <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" conten ...

  5. Linux下PHP的完全卸载

    如果想把PHP彻底的卸载干净,直接用yum的remove命令是不行的,而需要查看有多少rpm包,然后按照依赖顺序逐一卸载,在网上查了好多,都是通过  "rpm -qa | grep php& ...

  6. android SDK 更新问题解决

    Android在win7更新SDK时出现问题: Download interrupted: hostname in certificate didn't  match: <dl-ssl.goog ...

  7. FFMpeg的码率控制

    mediaxyz是一位研究ffmpeg有三年的高人了,这几天一直在折腾ffmpeg中的x264,就是不知道该如何控制码率,主要是参数太多,也不知道该如何设置,在google上search了一下,这方面 ...

  8. YARN资料收集

    hdfs2的HA:  http://www.cnblogs.com/meiyuanbao/p/hadoop2.html

  9. select2插件

    引入select2插件<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min. ...

  10. php 队列

    一.php中对共享内存,消息队列的操作 http://blog.csdn.net/haitun312366/article/details/8614797 二.PHP memcache 队列类 htt ...