Go语言 flag.string 获取程序启动参数

Posted 张志翔ۤ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言 flag.string 获取程序启动参数相关的知识,希望对你有一定的参考价值。

        有时候我们的程序启动时会需要带一些参数,这个时候怎么golang自带的flag.string来解析参数

参数功能
name命令行参数名称,比如 -b, -help
value默认值,未显式指定的参数,给出隐式的默认值,比如本例中-b未给出的话,*b=false
usage提示信息,如果给出的参数不正确或者需要查看帮助 -help,那么会给出这里指定的字符串

        flag使用前,必须首先解析:flag.Parse(),代码如下:

package main

import (
	"fmt"
	"os"
)

func init() {
    cfg = flag.String("c", "cfg.dev.json", "configuration file")
	version = flag.Bool("v", false, "show version")
	commonCfg = flag.String("cc", "cfg.common.json", "common configuration file")
	flag.Parse()

    fmt.Println(*cfg)
    fmt.Println(*version)
    fmt.Println(*commonCfg)
}

        idea 通过以下方式导入 c,cc 参数

-c=F:\\Lexin\\develop\\arch_monitor\\arch_monitor\\src\\github.com\\open-falcon\\alarm\\cfg.dev.json
-cc=F:\\Lexin\\develop\\arch_monitor\\arch_monitor\\src\\github.com\\open-falcon\\alarm\\cfg.common.json

        图示如下:

         这样我们在启动程序的时候就能够拿到对应参数了。

以上是关于Go语言 flag.string 获取程序启动参数的主要内容,如果未能解决你的问题,请参考以下文章

Go语言学习获取命令行参数

GO语言flag参数解析

go语言学习笔记 — 基础 — 基本数据类型 — 指针:使用指针(变量)获取命令行入参信息

golang 之 flag.String

初学go语言,请教生成随机数为何线程越多速度越慢?

Go语言反射获取