golang中的flag提供了一种基于命令行的、开箱即用的、提取命令行参数的方式。
package main
import (
"flag"
"fmt"
)
func main() {
wordPtr := flag.String("word", "foo", "a string")
numPtr := flag.Int("num", 123, "a number")
flag.Parse()
fmt.Printf("word = %s\n", *wordPtr)
fmt.Printf("num = %d\n", *numPtr)
}
这样就可以通过命令行来获取参数了,每个参数有一个名字、默认值和说明。
$ go run flat_demo.go -word=hello
word = hello
num = 123
上面的命令指定了word
,但没有指定num
,所以num
的值是默认值。如果不加任何参数的话,则两个都会取默认值。
也可以这样指定多个参数,像下面这样
$ go run flat_demo.go -word=hello -num=9
word = hello
num = 9
我们还可以通过-h
或--help
来查看参数的含义和默认值
$ go run flat_demo.go --help
Usage of /var/folders/xf/_wgd_jh5553d3cdtggwd8qq80000gp/T/go-build2482982965/b001/exe/flat_demo:
-num int
a number (default 123)
-word string
a string (default "foo")
不得不说这个封装非常的实用,我之前实用其它时,单单是用循环来提取参数就要写好多代码。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://laozhu.blog.csdn.net/article/details/121243431
内容来源于网络,如有侵权,请联系作者删除!