[Go 语言社区] 初始化内存数据--游戏列表数据

时间:2022-05-04
本文章向大家介绍[Go 语言社区] 初始化内存数据--游戏列表数据,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
服务器启动是需要加载内存的游戏列表的数据到内存,后期有新游戏直接更新内存就可以,以下的函数是服务器启动更新内存

func InitGameInfo() (mapGameInfo map[string]*Global_Define.StGameListInfo, size int64) {
    mapGameInfo = make(map[string]*Global_Define.StGameListInfo)
    strSql := "select * from t_GameInfo"
    Rows, err := GSeverdb.Query(strSql)
    if err != nil {
        Log_Eio.Log("InitGameInfo err:", err.Error())
        return nil, -1
    }
    //fmt.Println(Rows)
    var iTmp int64
    iTmp = 0
    for Rows.Next() {
        gameinfo := new(Global_Define.StGameListInfo)
        Rows.Scan(&gameinfo.GameId, &gameinfo.GameName, &gameinfo.Ip, &gameinfo.Port)
        // gameinfo.GameName = Global_Define.GBKConvertUTF8(gameinfo.GameName)
        mapGameInfo[strconv.Itoa(int(gameinfo.GameId))] = gameinfo
    }
    return mapGameInfo, iTmp
}