mirror of
https://gitee.com/johng/gf.git
synced 2024-11-30 03:07:45 +08:00
Migrated repository
g | ||
geg | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
README.MD | ||
version.go |
Go Frame - 轻量级的Go语言开发框架。
安装
go get -u gitee.com/johng/gf
使用
import "gitee.com/johng/gf/g/xxx/xxx"
说明
.
├── g 【框架目录】
│ ├── container 【常用数据结构容器】
│ │ ├── gbtree B+树
│ │ ├── glist 并发安全的双向链表
│ │ ├── gmap 并发安全的哈希表
│ │ └── gset 并发安全的集合
│ │
│ ├── database 【数据库操作】
│ │ └── gdb 通用关系型数据库操作封装(目前仅支持MySQL、PostgreSQL)
│ │
│ ├── encoding 【数据编码】
│ │ ├── gbase64 BASE64
│ │ ├── gbinary 二进制操作
│ │ ├── gcompress 数据压缩
│ │ ├── gcrc32 CRC32
│ │ ├── ghash 常用哈希函数
│ │ ├── ghtml HTML相关编码
│ │ ├── gjson JSON
│ │ ├── gmd5 MD5
│ │ ├── gsha1 SHA1
│ │ └── gurl URL
│ │
│ ├── frame 【开发框架】
│ │ ├── gconfig 通用配置管理
│ │ ├── ginstance 单例对象管理
│ │ └── gmvc MVC模式封装基类
│ │
│ ├── net 【网络通信】
│ │ ├── ghttp HTTP客户端及服务端
│ │ ├── gipv4 IP操作
│ │ ├── gscanner 端口扫描
│ │ ├── gsession SESSION会话管理
│ │ ├── gsmtp SMTP邮件管理
│ │ ├── gtcp TCP服务端
│ │ └── gudp UDP服务端
│ │
│ ├── os 【系统管理】
│ │ ├── gcache 本地缓存管理
│ │ ├── gconsole 命令行控制
│ │ ├── genv 环境变量管理
│ │ ├── gfile 文件管理
│ │ ├── gfilepool 文件指针池
│ │ ├── gfilespace 文件碎片管理
│ │ ├── glog 日志管理
│ │ ├── gmmap MMAP文件内存映射
│ │ ├── gtime 时间管理
│ │ └── gview 视图管理(通用的模板管理对象,独立于MVC模块)
│ │
│ └── util 【常用工具】
│ ├── gpage 分页
│ ├── grand 随机数
│ ├── gregx 正则表达式
│ └── gutil 其他工具
│
├── geg 【框架示例】
├── vendor 【第三方包】
└── version.go 【版本信息】
配置
- 默认读取文件运行目录的config.json文件;
- 支持多配置文件管理,默认配置文件目录为当前运行目录;
- config.json配置文件说明:
{ "viewpath" : "视图文件存放路径", "database" : { "数据库分组名称" : [ { "host" : "地址", "port" : "端口", "user" : "账号", "pass" : "密码", "name" : "数据库名称", "type" : "数据库类型(mysql|pgsql)", "role" : "数据库角色(master|slave)", "charset" : "字符编码", "priority" : "数据库优先级(负载均衡处理)" } ] } }
- config.json示例文件:
{ "viewpath" : "/home/john/Workspace/Go/gitee.com/johng/gf/geg/frame/mvc/view", "database" : { "default" : [ { "host" : "127.0.0.1", "port" : "3306", "user" : "root", "pass" : "123456", "name" : "test", "type" : "mysql", "role" : "master", "charset" : "utf8", "priority" : "100" }, { "host" : "127.0.0.1", "port" : "3306", "user" : "root", "pass" : "123456", "name" : "test", "type" : "mysql", "role" : "slave", "charset" : "utf8", "priority" : "100" } ], "ucenter" : [ { "host" : "127.0.0.1", "port" : "3306", "user" : "root", "pass" : "123456", "name" : "ucenter", "type" : "mysql", "role" : "master", "charset" : "utf8", "priority" : "100" } ] } }