Files
go-common/docs
2025-11-30 13:43:43 +08:00
..
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00
2025-11-30 13:43:43 +08:00

GoCommon 工具类库文档

目录

快速开始

安装

go get git.toowon.com/jimmy/go-common

使用示例

数据库迁移

import "git.toowon.com/jimmy/go-common/migration"

migrator := migration.NewMigrator(db)
migrator.AddMigration(migration.Migration{
    Version: "20240101000001",
    Description: "create_users_table",
    Up: func(db *gorm.DB) error {
        return db.Exec("CREATE TABLE users ...").Error
    },
})
migrator.Up()

日期转换

import "git.toowon.com/jimmy/go-common/datetime"

datetime.SetDefaultTimeZone(datetime.AsiaShanghai)
now := datetime.Now()
str := datetime.FormatDateTime(now)

HTTP响应

import "git.toowon.com/jimmy/go-common/http"

http.Success(w, data)
http.SuccessPage(w, list, total, page, pageSize)
http.Error(w, 1001, "业务错误")

中间件

import (
    "git.toowon.com/jimmy/go-common/middleware"
    "git.toowon.com/jimmy/go-common/http"
)

// CORS + 时区中间件
chain := middleware.NewChain(
    middleware.CORS(),
    middleware.Timezone,
)
handler := chain.ThenFunc(yourHandler)

// 在处理器中获取时区
timezone := http.GetTimezone(r)

配置管理

import "git.toowon.com/jimmy/go-common/config"

// 从文件加载配置
cfg, err := config.LoadFromFile("./config.json")

// 获取各种配置
dsn, _ := cfg.GetDatabaseDSN()
redisAddr := cfg.GetRedisAddr()
corsConfig := cfg.GetCORS()

版本

v1.0.0

许可证

MIT