调用flag包能够方便的获取到命令行中传递的参数,好比能够实现相似nginx执行程序获取命令行参数执行不一样操做的目标nginx
package main import ( "flag" "fmt" "os" ) func main() { var h bool var c, s string flag.BoolVar(&h, "h", false, "帮助信息") flag.StringVar(&c, "c", "conf/nginx.conf", "设置配置文件:") flag.StringVar(&s, "s", "", "管理服务:reload|restart|start|stop") flag.Parse() if h { fmt.Fprintf(os.Stdout, "nginx version: nginx/%s\n", "100.0.0") flag.PrintDefaults() } if c != "" { fmt.Println("-c参数是", c) } if s != "" { fmt.Println("-s参数是", s) } }