os.Args获取命令行参数
os.Args是一个srting的切片,用来存储所有的命令行参数
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Args)
}

flag获取命令行参数
常用变量
flag.BoolVar:flag的值保存到指针的变量。
flag.StringVar
flag.UintVar
参数(传入的变量【指针类型】, 变量的名称【命令行指定的如:-c --help】, 默认值 帮助时打印的参数的帮助信息)
例子:
package main
import (
"flag"
"fmt"
"os"
)
var (
c string
cpu uint
t bool
d bool
h bool
)
func init() {
flag.BoolVar(&h, "h", false, "this help")
flag.StringVar(&c, "c", "", "set config `file` (default /etc/nginx/nginx.conf)")
flag.UintVar(&cpu, "cpu", 1, "set cpu `number`")
flag.BoolVar(&t, "t", false, "configtest `config file`")
flag.BoolVar(&d, "d", false, "daemon start")
flag.Usage = usage
}
func main() {
flag.Parse()
if h {
flag.Usage()
} else {
fmt.Printf("config=%s,cpu=%d,configtest=%t,help=%t,daemon=%t", c, cpu, t, h, d)
}
}
func usage() {
fmt.Fprintf(os.Stderr, `nginx version: nginx/99.10.0
Usage: nginx [-dt] [-c configfile] [-cpu cup number]
Options:
`)
flag.PrintDefaults()
}



注:-c 默认为 string 在帮助参数中加上反引号就会更改参数的类型值
870

被折叠的 条评论
为什么被折叠?



