微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[Go] 轻量服务器框架全局配置的实现以及解析json

一个应用中经常需要有一个配置文件,可以对代码中的参数进行配置,可以使用一个json文件来对应一个struct的对象,进行全局配置

一个conf/zinx.json作为配置文件

{
    "Name":zinxServer",Host0.0.0.0TcpPort8888
}

 

一个utils/GlobalObj.go  utils包,比如下面这个

func init()函数可以在导包的同时被执行,并且在这个里面声明一个全局变量作为数据存储var GlobalObject *GlobalObj

使用IoUtil.ReadFile可以直接读取文件

使用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
                
                                 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐