【Golang进阶】flag 命令行包使用

Package flag

import “flag”

flag 包实现命令行标签解析.

简单Demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main

import (
"flag"
"fmt"
)

var num = flag.Int("num", 1234, "Input your ip")
var config = flag.String("config", "default.conf", "Input your config file path")

func main() {
flag.Parse()
fmt.Println("ip has value ", *num)
fmt.Println("config file path ", *config)
}

像Linux命令行一样查看帮助

执行时不带参数,使用默认值

执行时赋值参数

使用说明:

  1. 定义标签
1
2
3
4
5
6
7
8
9
10
11
// 定义interger标签
var num = flag.Int("num", 1234, "Input your ip")

// 定义string标签
var config = flag.String("config", "default.conf", "Input your config file path")

// Var()函数将标签绑定到指定变量中
var flagvar int
func InitFlag() {
flag.IntVar(&flagvar, "flagvar", 1234, "Input your flagvar name")
}
  1. 解析参数
1
flag.Parse()
  1. 使用标签
1
2
fmt.Println("ip has value ", *num)
fmt.Println("config file path ", *config)

经验

在开发的时候,很多时候会有多个环境,基本会以这种方式去加载对应环境的配置文件

参考:

https://godoc.org/flag

本文标题:【Golang进阶】flag 命令行包使用

文章作者:Craze lee

发布时间:2019年05月06日 - 11:05

最后更新:2019年05月06日 - 12:05

原始链接:http://craze-lee.github.io/2019/05/06/Golang/进阶/flag包使用/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

您的支持将鼓励我继续创作!