Migrated repository
Go to file
2017-12-31 18:18:00 +08:00
g 示例更新 2017-12-31 18:18:00 +08:00
geg 示例更新 2017-12-31 18:18:00 +08:00
.gitattributes dev 2017-07-04 18:31:39 +08:00
.gitignore 去掉monitor功能 2017-09-06 16:39:19 +08:00
LICENSE 新增环境变量管理工具genv,完善gmvc配置管理功能 2017-12-18 11:07:44 +08:00
README.MD README update 2017-12-31 15:13:35 +08:00
version.go v0.9beta 2017-12-29 16:58:47 +08:00

安装

go get -u gitee.com/johng/gf

使用

import "gitee.com/johng/gf/g/xxx/xxx"

说明

  1. 框架说明
  2. Web服务开发
    • HTTPServer
      • Web Server
      • 多域名支持
    • MVC开发模式
      • Controller
      • Model
      • View
    • 服务注册
      • 控制器注册
      • REST控制器
      • 执行对象注册
      • 回调函数注册
    • Cookie
    • Session
    • 路由控制
    • 配置管理
    • 单例管理
    • 数据校验
    • 模板引擎
    • 数据库操作
  3. 网络服务开发
    • TCPServer
    • UDPServer
  4. 功能模块设计
    • 缓存模块
    • 日志模块
    • 时间模块
    • 命令行模块
    • 环境变量模块
    • 文件管理模块
    • 并发安全容器
    • 通用编码模块
    • 其他模块简介

框架介绍

gf(Go Frame)是一款为Web服务及网络服务开发设计的轻量级的Go语言开发框架。 gf框架基于模块化设计实现了通用的HTTP/TCP/UDP Server并实现了Web服务开发的相关核心组件 包括MVC模式、Cookie、Session、模板引擎、路由控制、配置管理、数据校验、数据库操作等等 并且提供了数十个自行研发的实用模块,包括:缓存模块、日志模块、时间模块、命令行模块、环境变量模块、并发安全容器等等。

源码结构

.
├── 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            【开发框架】
│   │   ├── gcfg             通用配置管理
│   │   ├── gins             单例对象管理
│   │   └── gmvc             MVC模式封装基类
│   │   
│   ├── net              【网络通信】
│   │   ├── ghttp            强大的HTTP客户端及服务端
│   │   ├── gipv4            IPv4操作
│   │   ├── gipv6            IPv6操作
│   │   ├── grouter          路由管理
│   │   ├── gscanner         端口扫描
│   │   ├── gsmtp            SMTP邮件管理
│   │   ├── gtcp             TCP服务端
│   │   └── gudp             UDP服务端
│   │   
│   ├── os               【系统管理】
│   │   ├── gcache           缓存管理
│   │   ├── gcmd             命令行控制
│   │   ├── genv             环境变量
│   │   ├── gfile            文件管理
│   │   ├── gfilepool        文件指针池
│   │   ├── gfilespace       文件碎片管理
│   │   ├── glog             日志管理
│   │   ├── gmmap            MMAP文件内存映射
│   │   ├── gtime            时间管理
│   │   └── gview            视图管理(通用的模板管理对象独立于MVC模块)
│   │   
│   └── util             【常用工具】
│       ├── gconv            类型转换
│       ├── grand            随机数
│       ├── gregx            正则表达式
│       ├── gvalid           表单校验
│       └── gutil            其他工具
│   
├── geg              【框架示例】
├── vendor           【第三方包】
└── version.go       【版本信息】