加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2021-05-21 06:47:05 所属栏目:大数据 来源: https://www.jb51.cc
导读:在一个应用中经常需要有一个配置文件,可以对代码中的参数进行配置,可以使用一个json文件来对应一个struct的对象,进行全局配置 建一个conf/zinx.json作为配置文件 { " Name " : zinxServer " , Host 0.0.0.0 TcpPort 8888 } ? 建一个utils/GlobalObj.go? u

在一个应用中经常需要有一个配置文件,可以对代码中的参数进行配置,可以使用一个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(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读