mirror of
https://gitee.com/johng/gf
synced 2026-06-06 02:25:47 +08:00
docs: 更新目录说明
This commit is contained in:
338
.github/copilot-instructions.md
vendored
338
.github/copilot-instructions.md
vendored
@ -4,115 +4,277 @@
|
||||
|
||||
GoFrame (GF) 是一个模块化、高性能、企业级的 Golang 基础开发框架。
|
||||
|
||||
## 项目目录结构
|
||||
## 目录结构说明
|
||||
|
||||
### 主包
|
||||
|
||||
```shell
|
||||
gf
|
||||
├── cmd // 命令行工具
|
||||
│ ├── gf // GF CLI工具
|
||||
│ └── internal // 内部命令实现
|
||||
├── container // 容器类型
|
||||
│ ├── garray // 数组
|
||||
│ ├── glist // 列表
|
||||
│ ├── gmap // 映射
|
||||
│ ├── gpool // 对象池
|
||||
│ ├── gqueue // 队列
|
||||
│ ├── gset // 集合
|
||||
│ ├── gstack // 栈
|
||||
│ ├── gtree // 树
|
||||
│ └── gtype // 并发安全基本类型
|
||||
├── contrib // 第三方贡献组件库
|
||||
│ ├── drivers // 数据库驱动
|
||||
│ │ ├── mysql // MySQL驱动适配
|
||||
│ │ ├── pgsql // PostgreSQL驱动适配
|
||||
│ │ ├── sqlite // SQLite驱动适配
|
||||
│ │ ├── mssql // SQL Server驱动适配
|
||||
│ │ └── oracle // Oracle驱动适配
|
||||
│ ├── registry // 注册中心实现
|
||||
│ │ ├── consul // Consul服务注册
|
||||
│ │ ├── etcd // ETCD服务注册
|
||||
│ │ ├── file // 文件系统服务注册
|
||||
│ │ ├── nacos // Nacos服务注册
|
||||
│ │ ├── polaris // Polaris服务注册
|
||||
│ │ └── zookeeper // ZooKeeper服务注册
|
||||
│ ├── config // 配置中心适配
|
||||
│ │ ├── kubecm // K8s ConfigMap配置中心
|
||||
│ │ └── polaris // Polaris配置中心
|
||||
│ └── trace // 链路追踪实现
|
||||
├── crypto // 加密解密
|
||||
│ ├── gaes // AES加密
|
||||
│ ├── gdes // DES加密
|
||||
│ ├── gmd5 // MD5哈希
|
||||
│ └── gsha1 // SHA1哈希
|
||||
├── database // 数据库功能
|
||||
│ ├── gdb // 数据库ORM
|
||||
│ ├── gredis // Redis客户端
|
||||
│ └── gkafka // Kafka客户端
|
||||
├── debug // 调试相关功能
|
||||
│ ├── gdebug // 调试工具包
|
||||
│ └── checksum // 校验和工具
|
||||
├── encoding // 编码解码功能
|
||||
│ ├── gbase64 // Base64编解码
|
||||
├── container // 容器相关包
|
||||
│ ├── garray // 数组容器
|
||||
│ ├── glist // 链表容器
|
||||
│ ├── gmap // Map容器
|
||||
│ ├── gpool // 对象池
|
||||
│ ├── gqueue // 队列
|
||||
│ ├── gring // 环形缓冲区
|
||||
│ ├── gset // 集合
|
||||
│ ├── gtree // 树结构
|
||||
│ ├── gtype // 并发安全类型
|
||||
│ └── gvar // 动态变量
|
||||
├── crypto // 加密相关
|
||||
│ ├── gaes // AES加密
|
||||
│ ├── gcrc32 // CRC32校验
|
||||
│ ├── gdes // DES加密
|
||||
│ ├── gmd5 // MD5哈希
|
||||
│ └── gsha1 // SHA1哈希
|
||||
├── database // 数据库相关
|
||||
│ ├── gdb // 数据库ORM
|
||||
│ └── gredis // Redis客户端
|
||||
├── debug // 调试工具
|
||||
│ └── gdebug // 调试辅助
|
||||
├── encoding // 编码相关
|
||||
│ ├── gbase64 // Base64编码
|
||||
│ ├── gbinary // 二进制编码
|
||||
│ ├── gcharset // 字符集转换
|
||||
│ ├── gcompress // 压缩解压
|
||||
│ ├── ghash // 哈希编码
|
||||
│ ├── ghtml // HTML编码
|
||||
│ ├── gjson // JSON编解码
|
||||
│ ├── gtoml // TOML编解码
|
||||
│ ├── gurl // URL编解码
|
||||
│ ├── gxml // XML编解码
|
||||
│ └── gyaml // YAML编解码
|
||||
├── errors // 错误处理
|
||||
│ ├── gerror // 错误处理包
|
||||
│ └── gcode // 错误码管理
|
||||
├── example // 示例代码
|
||||
│ ├── http // HTTP示例
|
||||
│ ├── database // 数据库示例
|
||||
│ └── other // 其他示例
|
||||
├── frame // 框架核心组件
|
||||
│ ├── g // 核心包
|
||||
│ └── gins // 实例管理
|
||||
├── i18n // 国际化支持
|
||||
│ └── gi18n // 多语言管理
|
||||
├── internal // 内部实现
|
||||
│ ├── command // 命令行工具实现
|
||||
│ ├── filepool // 文件池
|
||||
│ ├── intlog // 内部日志
|
||||
│ └── utils // 内部工具函数
|
||||
├── net // 网络功能
|
||||
│ ├── ghttp // HTTP客户端/服务端
|
||||
│ ├── gtcp // TCP组件
|
||||
│ ├── gudp // UDP组件
|
||||
│ ├── goai // OpenAPI接口
|
||||
│ ├── gsvc // 服务注册发现
|
||||
│ └── gsel // 负载均衡
|
||||
├── os // 系统功能
|
||||
│ ├── ghash // 哈希算法
|
||||
│ ├── ghtml // HTML处理
|
||||
│ ├── gini // INI解析
|
||||
│ ├── gjson // JSON处理
|
||||
│ ├── gproperties // Properties解析
|
||||
│ ├── gtoml // TOML解析
|
||||
│ ├── gurl // URL处理
|
||||
│ ├── gxml // XML处理
|
||||
│ └── gyaml // YAML处理
|
||||
├── errors // 错误处理
|
||||
│ ├── gcode // 错误码
|
||||
│ └── gerror // 错误处理
|
||||
├── frame // 框架核心
|
||||
│ ├── g // 全局对象
|
||||
│ └── gins // 依赖注入
|
||||
├── i18n // 国际化
|
||||
│ └── gi18n // 国际化支持
|
||||
├── net // 网络相关
|
||||
│ ├── gclient // HTTP客户端
|
||||
│ ├── ghttp // HTTP服务端
|
||||
│ ├── gipv4 // IPv4工具
|
||||
│ ├── gipv6 // IPv6工具
|
||||
│ ├── goai // AI工具
|
||||
│ ├── gsel // 服务发现
|
||||
│ ├── gsvc // 服务治理
|
||||
│ ├── gtcp // TCP工具
|
||||
│ ├── gtrace // 链路追踪
|
||||
│ └── gudp // UDP工具
|
||||
├── os // 系统相关
|
||||
│ ├── gbuild // 构建工具
|
||||
│ ├── gcache // 缓存管理
|
||||
│ ├── gcfg // 配置管理
|
||||
│ ├── gcmd // 命令行
|
||||
│ ├── gcmd // 命令行解析
|
||||
│ ├── gcron // 定时任务
|
||||
│ ├── gctx // 上下文管理
|
||||
│ ├── genv // 环境变量
|
||||
│ ├── gfile // 文件操作
|
||||
│ ├── gfpool // 文件池
|
||||
│ ├── gfsnotify // 文件监控
|
||||
│ ├── glog // 日志管理
|
||||
│ ├── gmetric // 指标监控
|
||||
│ ├── gmlock // 内存锁
|
||||
│ ├── gmutex // 互斥锁
|
||||
│ ├── gproc // 进程管理
|
||||
│ ├── gres // 资源管理
|
||||
│ ├── grpool // 协程池
|
||||
│ ├── gsession // 会话管理
|
||||
│ ├── gtime // 时间管理
|
||||
│ ├── gspath // 路径处理
|
||||
│ ├── gstructs // 结构体工具
|
||||
│ ├── gtime // 时间处理
|
||||
│ ├── gtimer // 定时器
|
||||
│ └── gview // 模板引擎
|
||||
├── test // 测试相关
|
||||
│ ├── gtest // 测试框架
|
||||
├── text // 文本处理
|
||||
│ ├── gstr // 字符串处理
|
||||
│ └── gregex // 正则表达式
|
||||
└── util // 实用工具
|
||||
│ └── gview // 视图渲染
|
||||
├── test // 测试工具
|
||||
│ └── gtest // 测试框架
|
||||
├── text // 文本处理
|
||||
│ ├── gregex // 正则表达式
|
||||
│ └── gstr // 字符串工具
|
||||
└── util // 工具类
|
||||
├── gconv // 类型转换
|
||||
├── gmeta // 元数据处理
|
||||
├── gmode // 运行模式
|
||||
├── gutil // 工具函数
|
||||
├── gpage // 分页工具
|
||||
├── grand // 随机数
|
||||
├── gtag // 标签处理
|
||||
├── guid // UUID生成
|
||||
├── gutil // 通用工具
|
||||
└── gvalid // 数据校验
|
||||
```
|
||||
|
||||
### cmd 命令行工具
|
||||
|
||||
```shell
|
||||
cmd
|
||||
├── gf // GF CLI主程序
|
||||
│ ├── gfcmd // CLI命令入口
|
||||
│ │ ├── build // 项目构建 (cmd_build.go)
|
||||
│ │ ├── run // 热编译运行 (cmd_run.go)
|
||||
│ │ ├── init // 项目脚手架 (cmd_init.go)
|
||||
│ │ ├── gen // 代码生成入口 (cmd_gen.go)
|
||||
│ │ ├── docker // 容器化操作 (cmd_docker.go)
|
||||
│ │ ├── install // 依赖管理 (cmd_install.go)
|
||||
│ │ ├── fix // 代码修复 (cmd_fix.go)
|
||||
│ │ ├── update // 框架升级 (cmd_up.go)
|
||||
│ │ ├── env // 环境变量管理 (cmd_env.go)
|
||||
│ │ ├── pack // 二进制打包 (cmd_pack.go)
|
||||
│ │ └── doc // 文档生成 (cmd_doc.go)
|
||||
│ ├── internal/cmd/ // 命令实现核心
|
||||
│ │ ├── cmd_build.go // 构建命令:交叉编译支持/构建参数配置
|
||||
│ │ ├── cmd_doc.go // 文档命令:Swagger/API文档自动化生成
|
||||
│ │ ├── cmd_docker.go // Docker命令:镜像构建/推送/多阶段编译
|
||||
│ │ ├── cmd_env.go // 环境管理:变量查看/设置/环境切换
|
||||
│ │ ├── cmd_fix.go // 代码修复:自动修复常见语法问题
|
||||
│ │ ├── cmd_gen.go // 代码生成:统一入口路由
|
||||
│ │ ├── cmd_gen_ctrl.go // MVC控制器:RESTful接口生成
|
||||
│ │ ├── cmd_gen_dao.go // DAO层:数据库表映射生成
|
||||
│ │ ├── cmd_gen_enums.go // 枚举代码:自动生成枚举类型和方法
|
||||
│ │ ├── cmd_gen_pb.go // Protobuf:协议文件编译生成
|
||||
│ │ ├── cmd_gen_pbentity.go // Protobuf实体:数据库表到proto转换
|
||||
│ │ ├── cmd_gen_service.go // 微服务接口:GRPC服务代码生成
|
||||
│ │ ├── cmd_init.go // 项目初始化:模块化脚手架生成
|
||||
│ │ ├── cmd_install.go // 依赖管理:自动分析并安装go依赖
|
||||
│ │ ├── cmd_pack.go // 打包发布:支持二进制/Docker/zip多种格式
|
||||
│ │ ├── cmd_run.go // 运行管理:热编译/配置重载/进程监控
|
||||
│ │ ├── cmd_tpl.go // 模板管理:自定义代码模板系统
|
||||
│ │ ├── cmd_up.go // 框架升级:版本检测与自动更新
|
||||
│ │ ├── cmd_version.go // 版本管理:CLI/Golang/框架版本信息
|
||||
│ │ ├── cmd_z_init_test.go // 初始化测试:脚手架生成验证
|
||||
│ │ └── cmd_z_unit_*_test.go // 单元测试:各命令功能验证
|
||||
│ ├── internal/cmd/gen/ // 代码生成模板
|
||||
│ │ ├── tpl_field.go // 字段级模板(列映射/类型转换)
|
||||
│ │ ├── tpl_table.go // 表级模板(CRUD操作/关系映射)
|
||||
│ │ ├── tpl_test.go // 测试用例模板
|
||||
│ │ ├── tpl_ctrl.go // 控制器模板(RESTful方法)
|
||||
│ │ ├── tpl_service.go // 服务层模板(业务逻辑)
|
||||
│ │ └── tpl_pbentity.go // Protobuf实体模板
|
||||
│ ├── test/ // 测试相关
|
||||
│ │ ├── cmd_z_unit_build_test.go // 构建命令单元测试
|
||||
│ │ ├── cmd_z_unit_gen_dao_test.go // DAO生成测试
|
||||
│ │ └── testdata/ // 测试用例数据
|
||||
│ ├── internal // 内部实现
|
||||
│ ├── test // 测试代码
|
||||
│ ├── go.mod // 模块文件
|
||||
│ ├── go.sum // 依赖校验
|
||||
│ ├── go.work // 工作区配置
|
||||
│ ├── LICENSE // 许可证
|
||||
│ ├── main.go // 主入口
|
||||
│ ├── Makefile // 构建配置
|
||||
│ └── README.MD // 说明文档
|
||||
```
|
||||
|
||||
### contrib 组件库
|
||||
|
||||
```shell
|
||||
contrib
|
||||
├── config // 配置中心支持
|
||||
│ ├── apollo // Apollo配置中心
|
||||
│ ├── consul // Consul配置中心
|
||||
│ ├── kubecm // Kubernetes ConfigMap支持
|
||||
│ ├── nacos // Nacos配置中心
|
||||
│ └── polaris // Polaris配置中心
|
||||
├── drivers // 数据库驱动
|
||||
│ ├── clickhouse // ClickHouse驱动
|
||||
│ ├── dm // 达梦数据库驱动
|
||||
│ ├── mssql // SQL Server驱动
|
||||
│ ├── mysql // MySQL驱动
|
||||
│ ├── oracle // Oracle驱动
|
||||
│ ├── pgsql // PostgreSQL驱动
|
||||
│ ├── sqlite // SQLite驱动
|
||||
│ └── sqlitecgo // SQLite CGO驱动
|
||||
├── metric // 指标监控
|
||||
│ └── otelmetric // OpenTelemetry指标支持
|
||||
├── nosql // NoSQL支持
|
||||
│ └── redis // Redis支持
|
||||
├── registry // 服务注册发现
|
||||
│ ├── consul // Consul支持
|
||||
│ ├── etcd // Etcd支持
|
||||
│ ├── file // 文件注册中心
|
||||
│ ├── nacos // Nacos支持
|
||||
│ ├── polaris // Polaris支持
|
||||
│ └── zookeeper // Zookeeper支持
|
||||
├── rpc // RPC支持
|
||||
│ └── grpcx // gRPC扩展支持
|
||||
├── sdk // SDK支持
|
||||
│ └── httpclient // HTTP客户端SDK
|
||||
└── trace // 链路追踪
|
||||
├── otlpgrpc // OpenTelemetry gRPC支持
|
||||
└── otlphttp // OpenTelemetry HTTP支持
|
||||
```
|
||||
|
||||
### examples 示例库
|
||||
|
||||
```shell
|
||||
examples
|
||||
├── balancer // 负载均衡示例
|
||||
│ ├── http // HTTP负载均衡
|
||||
│ └── polaris // Polaris负载均衡
|
||||
├── config // 配置中心示例
|
||||
│ ├── apollo // Apollo配置中心
|
||||
│ ├── consul // Consul配置中心
|
||||
│ ├── kubecm // Kubernetes ConfigMap
|
||||
│ ├── nacos // Nacos配置中心
|
||||
│ └── polaris // Polaris配置中心
|
||||
├── converter // 类型转换示例
|
||||
│ ├── alias-type-convert // 别名类型转换
|
||||
│ ├── alias-type-scan // 别名类型扫描
|
||||
│ ├── struct-convert // 结构体转换
|
||||
│ └── struct-scan // 结构体扫描
|
||||
├── database // 数据库示例
|
||||
│ └── mysql // MySQL数据库
|
||||
├── httpserver // HTTP服务示例
|
||||
│ ├── default-value // 默认值处理
|
||||
│ ├── proxy // 代理服务
|
||||
│ ├── rate // 限流控制
|
||||
│ ├── response-with-json // JSON响应
|
||||
│ ├── serve-file // 文件服务
|
||||
│ ├── swagger // Swagger文档
|
||||
│ ├── upload-file // 文件上传
|
||||
│ └── swagger-set-template // Swagger模板
|
||||
├── metric // 指标监控示例
|
||||
│ ├── basic // 基础指标
|
||||
│ ├── callback // 回调指标
|
||||
│ ├── dynamic-attributes // 动态属性
|
||||
│ ├── global-attributes // 全局属性
|
||||
│ ├── http-client // HTTP客户端指标
|
||||
│ ├── http-server // HTTP服务端指标
|
||||
│ ├── meter-attributes // 计量器属性
|
||||
│ └── prometheus // Prometheus集成
|
||||
├── nosql // NoSQL示例
|
||||
│ └── redis // Redis操作
|
||||
├── os // 系统操作示例
|
||||
│ ├── cron // 定时任务
|
||||
│ └── log // 日志管理
|
||||
├── pack // 打包示例
|
||||
│ ├── hack // 打包工具
|
||||
│ ├── manifest // 清单文件
|
||||
│ ├── packed // 打包结果
|
||||
│ └── resource // 资源文件
|
||||
├── registry // 服务注册发现示例
|
||||
│ ├── consul // Consul注册中心
|
||||
│ ├── etcd // Etcd注册中心
|
||||
│ ├── file // 文件注册中心
|
||||
│ ├── nacos // Nacos注册中心
|
||||
│ └── polaris // Polaris注册中心
|
||||
├── rpc // RPC示例
|
||||
│ └── grpcx // gRPC扩展
|
||||
├── tcp // TCP示例
|
||||
│ └── server // TCP服务
|
||||
└── trace // 链路追踪示例
|
||||
├── grpc-with-db // gRPC+数据库
|
||||
├── http // HTTP链路
|
||||
├── http-with-db // HTTP+数据库
|
||||
├── inprocess // 进程内追踪
|
||||
├── inprocess-grpc // 进程内gRPC
|
||||
├── otlp // OpenTelemetry
|
||||
├── processes // 进程管理
|
||||
└── provider // 追踪提供者
|
||||
```
|
||||
|
||||
## 编码规范
|
||||
|
||||
1. 命名规范
|
||||
|
||||
Reference in New Issue
Block a user