竹简文档

筱工具(Golang)

筱锋的 Go 语言基础组件库文档

筱工具(Golang)

筱工具(Golang) 是筱锋的 Go 语言基础组件库,基于 Gin 框架构建,为微服务提供标准化的基础设施。

特性

  • 🚀 快速启动 - 基于 Gin 框架,一键启动 Web 服务
  • 🏗️ 多模块分层 - 四层架构(defined / common / major / plugins),按需引入
  • 📦 开箱即用 - 内置日志、配置、数据库等常用组件
  • 🆔 分布式 ID - 自定义雪花算法,支持业务基因
  • 📝 统一响应 - 标准化 API 响应格式
  • 🔒 类型安全 - 完整的类型定义和错误处理
  • 📄 分页标准化 - 内置 PageRequest/PageResponse 泛型分页模型
  • ▶️ 运行时托管 - 内置 xMain.Runner,统一启动与优雅关闭
  • 🔌 gRPC 支持 - 提供 xGrpcRunner、追踪拦截器与错误包装能力

模块概览

模块层级描述
注册系统majorReg 结构体、节点初始化与 Runner 运行时
统一响应commonBaseResponse 与响应处理中间件
错误处理commonIError 接口与错误构造函数
gRPC(可选)plugins可选扩展:gRPC 启动、服务注册与优雅关闭
雪花算法common64 位分布式 ID 生成
模型基类majorGORM 实体基类、软删除与分页模型
日志系统common基于 slog 的彩色日志
中间件majorCORS、响应处理等
验证器common自定义验证规则与中文翻译

快速开始

# 按需安装对应层级模块
go get github.com/bamboo-services/bamboo-base-go/defined
go get github.com/bamboo-services/bamboo-base-go/common
go get github.com/bamboo-services/bamboo-base-go/major
go get github.com/bamboo-services/bamboo-base-go/plugins/grpc  # 可选
package main

import (
    "context"

    "github.com/gin-gonic/gin"

    xLog "github.com/bamboo-services/bamboo-base-go/common/log"
    xMain "github.com/bamboo-services/bamboo-base-go/major/main"
    xReg "github.com/bamboo-services/bamboo-base-go/major/register"
)

func main() {
    reg := xReg.Register(context.Background(), nil)
    log := xLog.WithName(xLog.NamedMAIN)

    xMain.Runner(reg, log, func(reg *xReg.Reg) {
        reg.Serve.GET("/ping", func(c *gin.Context) {
            c.JSON(200, gin.H{"message": "pong"})
        })
    })
}

更多信息

On this page