/
flag.go
35 lines (29 loc) · 837 Bytes
/
flag.go
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
26
27
28
29
30
31
32
33
34
35
package bootstrap
import "flag"
type CommandFlags struct {
Conf string
Env string
ConfigHost string
ConfigType string
Daemon bool
}
func NewCommandFlags() *CommandFlags {
return &CommandFlags{
Conf: "",
Env: "",
ConfigHost: "",
ConfigType: "",
Daemon: false,
}
}
func (f *CommandFlags) Init() {
flag.StringVar(&f.Conf, "conf", "../../config", "config path, eg: -conf config.yaml")
flag.StringVar(&f.Env, "env", "dev", "runtime environment, eg: -env dev")
flag.StringVar(&f.ConfigHost, "chost", "127.0.0.1:8500", "config server host, eg: -chost 127.0.0.1:8500")
flag.StringVar(&f.ConfigType, "ctype", "consul", "config server host, eg: -ctype consul")
flag.BoolVar(&f.Daemon, "d", false, "run app as a daemon with -d=true.")
if f.Daemon {
BeDaemon("-d")
}
flag.Parse()
}