Go 命令行工具flag

使用标准库中的flag可以很快的写出一个简单的命令行工具。

先来一个简单的例子:

package main

import (
    "flag"
    "fmt"
)

func main() {
    arg1 := flag.Bool("bool", false, "bool value for test")
    arg2 := flag.Int("int", 100, "integer value for test")
    arg3 := flag.String("string", "str", "string value for test")

    flag.Parse()
    fmt.Println("bool:\t", *arg1)
    fmt.Println("int:\t", *arg2)
    fmt.Println("string:\t", *arg3)
}

输入输出:

  • flag.Bool()flag.Int()flag.String()三个方法用途类似,都是指定命令参数的工具,包含三个参数,分别为:参数名、默认值、提示信息。

  • flag.Parse() 解析传入的参数并绑定在内存地址中

以上代码等同于:

还能自定义数据格式

输入输出:

Last updated

Was this helpful?