Ai
1 Star 0 Fork 0

nggs/micro

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
global.sd.go 6.16 KB
一键复制 编辑 原始数据 按行查看 历史
李文建 提交于 2020-04-05 00:11 +08:00 . 整合其他模块代码
// 本文件由gen_static_data_code生成
// 请遵照提示添加修改!!!
package sd
import (
"fmt"
"io/ioutil"
"log"
"math"
"path/filepath"
"time"
jsoniter "github.com/json-iterator/go"
)
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加头部扩展代码
//<Head>//</Head>
//////////////////////////////////////////////////////////////////////////////////////////////////
var _ = fmt.Printf
var _ = time.Now
var _ = math.MaxInt32
// 全局表
type Global struct {
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加结构体扩展字段
//<StructExtend>//</StructExtend>
//////////////////////////////////////////////////////////////////////////////////////////////////
}
func NewGlobal() *Global {
sd := &Global{}
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加结构体New代码
//<StructNew>//</StructNew>
//////////////////////////////////////////////////////////////////////////////////////////////////
return sd
}
func (sd Global) Clone() *Global {
n := NewGlobal()
*n = sd
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加结构体Clone代码
//<StructClone>//</StructClone>
//////////////////////////////////////////////////////////////////////////////////////////////////
return n
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
// 全局表全局属性
type GlobalGlobal struct {
i int // 整型
str string // 字符串
f64 float64 // 浮点
dur time.Duration // 时间段
b bool // 布尔
}
// 整型
func (g GlobalGlobal) I() int {
return g.i
}
// 字符串
func (g GlobalGlobal) Str() string {
return g.str
}
// 浮点
func (g GlobalGlobal) F64() float64 {
return g.f64
}
// 时间段
func (g GlobalGlobal) Dur() time.Duration {
return g.dur
}
// 布尔
func (g GlobalGlobal) B() bool {
return g.b
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
type GlobalManager struct {
Datas []*Global
Global GlobalGlobal
size int
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加manager扩展字段
//<ManagerExtend>//</ManagerExtend>
//////////////////////////////////////////////////////////////////////////////////////////////////
}
func newGlobalManager() *GlobalManager {
mgr := &GlobalManager{
Datas: []*Global{},
}
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加manager的New代码
//<ManagerNew>//</ManagerNew>
//////////////////////////////////////////////////////////////////////////////////////////////////
return mgr
}
func (mgr *GlobalManager) load(path string) (success bool) {
success = true
absPath, err := filepath.Abs(path)
if err != nil {
log.Printf("获取[%s]的绝对路径失败, %s\n", path, err)
success = false
return false
}
bs, err := ioutil.ReadFile(absPath)
if err != nil {
log.Printf("读取[%s]的内容失败, %s\n", path, err)
success = false
return
}
err = jsoniter.Unmarshal(bs, mgr)
if err != nil {
log.Printf("解析[%s]失败, %s\n", path, err)
success = false
return
}
mgr.size = len(mgr.Datas)
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加manager加载前代码
//<ManagerBeforeLoad>//</ManagerBeforeLoad>
//////////////////////////////////////////////////////////////////////////////////////////////////
for i, d := range mgr.Datas {
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加结构体加载代码
//<StructLoad>//</StructLoad>
//////////////////////////////////////////////////////////////////////////////////////////////////
err = mgr.check(path, i+1, d)
if err != nil {
log.Println(err)
success = false
continue
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加manager加载后代码
//<ManagerAfterLoad>//</ManagerAfterLoad>
//////////////////////////////////////////////////////////////////////////////////////////////////
return
}
func GlobalSize() int {
return globalMgr.size
}
func (mgr GlobalManager) check(path string, row int, sd *Global) error {
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加检查代码
//<Check>//</Check>
//////////////////////////////////////////////////////////////////////////////////////////////////
return nil
}
func (mgr *GlobalManager) afterLoadAll(path string) (success bool) {
success = true
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加加载后处理代码
//<AfterLoadAll>//</AfterLoadAll>
//////////////////////////////////////////////////////////////////////////////////////////////////
return
}
func (mgr *GlobalManager) each(f func(sd *Global) bool) {
for _, sd := range mgr.Datas {
if !f(sd) {
break
}
}
}
func (mgr *GlobalManager) findIf(f func(sd *Global) bool) *Global {
for _, sd := range mgr.Datas {
if f(sd) {
return sd
}
}
return nil
}
func EachGlobal(f func(sd Global) bool) {
for _, sd := range globalMgr.Datas {
if !f(*sd) {
break
}
}
}
func FindGlobalIf(f func(sd Global) bool) (Global, bool) {
for _, sd := range globalMgr.Datas {
if f(*sd) {
return *sd, true
}
}
return nilGlobal, false
}
func GetGlobalGlobal() GlobalGlobal {
return globalMgr.Global
}
//////////////////////////////////////////////////////////////////////////////////////////////////
// TODO 添加尾部扩展代码
//<Tail>//</Tail>
//////////////////////////////////////////////////////////////////////////////////////////////////
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/nggs/micro.git
git@gitee.com:nggs/micro.git
nggs
micro
micro
bac99dff65eb

搜索帮助