在一个应用中经常需要有一个配置文件,可以对代码中的参数进行配置,可以使用一个json文件来对应一个struct的对象,进行全局配置
建一个conf/zinx.json作为配置文件
{ "Name":zinxServer",Host0.0.0.0TcpPort8888 }
建一个utils/GlobalObj.go utils包,比如下面这个
func init()函数可以在导包的同时被执行,并且在这个里面声明一个全局变量作为数据存储var GlobalObject *GlobalObj
使用json.Unmarshal可以直接解析json格式并且对应一个struct, key要一致得对应好
package utils import io/IoUtil import logencoding/json type GlobalObj struct{ Name string Host TcpPort int MaxConn Version MaxPackageSize } var GlobalObject *GlobalObj func (g *GlobalObj)Reload(){ confFile:=conf/zinx.json data,err:=IoUtil.ReadFile(confFile) if err!=nil{ log.Println(reload conf err json.Unmarshal(data,GlobalObject) json unmarshal err GlobalObj{ Name:zinx89991000v0.14096