go标准库flag简单教程

flag包是用来解析启动程序时传入的参数的。

先看一个例子:

package main

import (
    "flag"
    "fmt"
)

func main() {
    num := flag.Int("n", 10, "number")
    flag.Parse()
    fmt.Println(*num)
}
启动: ./flag_learn -n 123
输出: 123

flag.Int()这个函数的签名如下:
func Int(name string, value int, usage string) *int
第一参数指定参数名叫什么;第二个参数是启动程序是没有指定参数时设置成这个值;第三个参数是描述这个参数的,运行-help时显示出来;返回值是一个指向参数内容的指针(获取内容时记得带上*)。

要在执行完flag.Parse()这个函数,命令参数才能解析出来,不然访问变量只会得到默认值。

除了flag.Int()这个函数,还有其他与基本类型对于的函数,如与string对应的flag.String()、与uint64对应的flag.Uint64()等等。参数和上面的flag.Int()是一样的,只不过是类型不同罢了。

你可能感兴趣的:(go标准库flag简单教程)