go配置文件

golang的配置文件在实际使用中我选择和可执行文件绑定,那么就涉及到两个问题

1.如何获取配置文件路径;

2.如何解析配置文件

问题1的实现通过获取当前可执行文件的路径来获取

file, _ := exec.LookPath(os.Args[0])
path, _ := filepath.Abs(file)
index := strings.LastIndex(path, string(os.PathSeparator))
ret := path[:index]
configfile := ret + string(os.PathSeparator) + "Hbase.conf

问题2解析文件通过goconfig模块 来实现

cfg, err := goconfig.LoadConfigFile(configfile
masterurl, err := cfg.GetValue("url", "masterurl")
regionservers := cfg.MustValueArray("url", "regionurls", ",")
hbck := cfg.MustBool("config", "hbck", false)