• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Golang > Go语言中使用flag包对命令行进行参数解析的方法

Go语言中使用flag包对命令行进行参数解析的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了go语言flag包,go语言,go语言环境搭建,go语言程序设计,let it go 25种语言等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

flag
flag 是Go 标准库提供的解析命令行参数的包。

使用方式:

flag.Type(name, defValue, usage)
</div>

其中Type为String, Int, Bool等;并返回一个相应类型的指针。

flag.TypeVar(&flagvar, name, defValue, usage)

</div>

将flag绑定到一个变量上。

自定义flag
只要实现flag.Value接口即可:

type Value interface {
  String() string
  Set(string) error
}
</div>

通过如下方式定义该flag:

flag.Var(&flagvar, name, usage)

</div>

示例

package main
import "flag"
import "fmt"
import "strconv"
type percentage float32
func (p *percentage) Set(s string) error {
  v, err := strconv.ParseFloat(s, 32)
  *p = percentage(v)
  return err
}
func (p *percentage) String() string { return fmt.Sprintf("%f", *p) }
func main() {
  namePtr := flag.String("name", "lyh", "user's name")
  agePtr := flag.Int("age", 22, "user's age")
  vipPtr := flag.Bool("vip", true, "is a vip user")
  var email string
  flag.StringVar(&email, "email", "lyhopq@gmail.com", "user's email")
  var pop percentage
  flag.Var(&pop, "pop", "popularity")
  flag.Parse()
  others := flag.Args()
  fmt.Println("name:", *namePtr)
  fmt.Println("age:", *agePtr)
  fmt.Println("vip:", *vipPtr)
  fmt.Println("pop:", pop)
  fmt.Println("email:", email)
  fmt.Println("other:", others)
}
</div>
$ ./command-line-flags
name: lyh
age: 22
vip: true
email: lyhopq@gmail.com
other: []
</div>
$ ./command-line-flags -name golang -age 4 -vip=true -pop 99 简洁 高并发 等等
name: golang
age: 4
vip: true
pop: 99
email: lyhopq@gmail.com
other: [简洁 高并发 等等]
</div>
$ ./command-line-flags -h
Usage of ./command-line-flags:
 -age=22: user's age
 -email="lyhopq@gmail.com": user's email
 -name="lyh": user's name
 -pop=0.0: popularity
 -vip=true: is a vip user
</div>

</div>

您可能想查找下面的文章:

  • Go语言中使用flag包对命令行进行参数解析的方法
  • Go语言的os包中常用函数初步归纳

相关文章

  • Go语言实现Fibonacci数列的方法
  • Go语言中转换JSON数据简单例子
  • 简单讲解Go程序中使用MySQL的方法
  • 利用Go语言追加内容到文件末尾
  • golang简单tls协议用法完整示例
  • Go语言执行系统命令行命令的方法
  • Go语言Cookie用法分析
  • 服务器端Go程序对长短链接的处理及运行参数的保存
  • go语言获取系统盘符的方法
  • 创建第一个Go语言程序Hello,Go!

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • linux中用shell快速安装配置Go语言的开发环境
    • Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法
    • GO语言获取系统环境变量的方法
    • Go语言生成素数的方法
    • go语言实现一个简单的http客户端抓取远程url的方法
    • golang守护进程用法示例
    • Go语言中的switch用法实例分析
    • Go语言计算指定年月天数的方法
    • go语言中使用timer的常用方式
    • 如何使用Go语言实现远程执行命令

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有