命令行也是应用开发时必不可少的作用,命令行的样式相对比较统一,Go中提供了flag包用于定义命令行参数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| package main
import (
"flag"
"fmt"
)
func main() {
wordPtr := flag.String("word", "foo", "a string")
numbPtr := flag.Int("numb", 42, "an int")
forkPtr := flag.Bool("fork", false, "a bool")
var svar string
flag.StringVar(&svar, "svar", "bar", "a string var")
flag.Parse()
fmt.Println("word:", *wordPtr)
fmt.Println("numb:", *numbPtr)
fmt.Println("fork:", *forkPtr)
fmt.Println("svar:", svar)
fmt.Println("tail:", flag.Args())
}
|
运行帮助
1
| go run test_command_line.go --help
|
返回如下,基本可以满足常用命令行的构建
1
2
3
4
5
6
7
8
9
| Usage of /tmp/go-build3476798509/b001/exe/test_command_line:
-fork
a bool
-numb int
an int (default 42)
-svar string
a string var (default "bar")
-word string
a string (default "foo")
|
参考链接
当然也有很多第三方提供的Parser