gtbox

package module
v0.1.122 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2026 License: BSD-3-Clause Imports: 7 Imported by: 11

README

1. 使用说明

  • Go 1.26.10,或 1.27.3 及以上,使用 Go Modules 管理依赖(CVE-2026-111943 修复版本)。
  • 需要安装 git。
  • 仅维护静态库,保留两个可运行版本。

1.1. 测试

go test ./...

2. 使用

2.1. 静态库版本

go get -u github.com/george012/gtbox@latest

2.2. 动态库版本(停止维护)

旧版安装命令,在 Go 项目根目录执行:

wget --no-check-certificate https://raw.githubusercontent.com/george012/gtbox/master/install_gtbox.sh && chmod a+x ./install_gtbox.sh && ./install_gtbox.sh

2.3. macOS 编译 Linux

brew install filosottile/musl-cross/musl-cross

在 ~/.bash_profile 或 ~/.zshrc 中配置:

export MUSL_CROSS_ROOT=$(brew --prefix musl-cross)
export PATH=$MUSL_CROSS_ROOT/bin:$PATH

2.4. 数据库

MySQL、PostgreSQL、SQLite 使用 GORM:New(cfg) 创建独立实例,Instance().OpenWithConfig(cfg) 打开默认单例,Close() 关闭连接池。

Redis 使用 New(cfg, prefix) 创建独立实例,SetupRedisConnection(cfg, prefix) 初始化默认实例。

驱动、配置和连接池由 gtbox 统一提供。项目复用 SDK 配置,启用开关由项目管理,已有配置键名保留原映射。

SQL 默认按需建连,不限制总数;显式配置的连接上限仍生效。SQLite 同库单写,私有内存库默认保留单连接。事务内只用事务句柄。

3. 更新记录

ChangeList

4. 必要支持

  • CGO 支持。
  • macOS 需要 Xcode 及 Command Line Tools。

5. 功能

  • ✅ MySQL(GORM)
  • ✅ PostgreSQL(GORM)
  • ✅ SQLite(GORM)
  • ✅ Redis
  • ✅ 对象存储:AWS S3、阿里云 OSS
  • ✅ 日志分片、异步写入
  • ✅ HTTP 请求
  • ✅ SSH 客户端、SCP 文件传输
  • ✅ 加密、解密
  • ✅ Excel 创建、写入
  • ✅ PDF 文本提取、Markdown 转换
  • ✅ 时间、字符串、数组工具
  • ✅ 系统信息
  • ✅ 高精度数值运算
  • ✅ Bit、Byte 单位换算
  • ✅ CGO 支持

6. 感谢

感谢 JetBrains 提供开源许可证支持。

JetBrains logo

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetupGTBox added in v0.0.8

func SetupGTBox(projectName string, runMode RunMode, productLogDir string, logMaxSaveDays int64, logSaveType gtbox_log.GTLogSaveType, httpRequestTimeOut time.Duration)

SetupGTBox [☑]Required

en: Setup gtbox;
zh-CN: 初始化 gtbox 必须使用此方法初始化工具库,未使用此方法初始化,无法使用完整功能,亦存在兼容性问题;
@params [☑]projectName en:  ;zh-CN: 项目名称;
@params [☑]run_mode en:  ;zh-CN: 运行模式 debug|test|release;
@params [☑]logMaxSaveDays en:  ;zh-CN: 日志存储最大天数;
@params [☐]productLogDir en:  ;zh-CN: 自定义日志目录,默认为:/usr/logs/${projectName},如果传"" 即使用默认值;
@params [☑]logSaveType en:  ;zh-CN: 日志存储类型:按天切片|按小时切片 GTLogSaveTypeDays | GTLogSaveHours;
@params [☑]httpRequestTimeOut en:  ;zh-CN: 网络请求超时时间;

Types

type GTAppSignalInfo

type GTAppSignalInfo struct {
	SigCode string
	Msg     string
}

type RunMode added in v0.1.14

type RunMode int
const (
	RunModeUnknown RunMode = iota
	RunModeDebug
	RunModeRelease
	RunModeTest
)

func GetCurrentRunMode added in v0.1.49

func GetCurrentRunMode() RunMode

func (RunMode) String added in v0.1.14

func (rm RunMode) String() string

Directories

Path Synopsis
cmd
gtbox-pdf2md command
Package config 配置文件
Package config 配置文件
Package gt_uploader gt_uploader/gt_uploader.go
Package gt_uploader gt_uploader/gt_uploader.go
Package gtbox_app Application 常用信息
Package gtbox_app Application 常用信息
Package gtbox_array 基于线程安全的 可变长 Array/slice 封装
Package gtbox_array 基于线程安全的 可变长 Array/slice 封装
Package gtbox_cloud_store 云对象存储统一门面。
Package gtbox_cloud_store 云对象存储统一门面。
gtbox_cloud_store_common
Package gtbox_cloud_store_common 定义云对象存储的可移植契约层。
Package gtbox_cloud_store_common 定义云对象存储的可移植契约层。
gtbox_cloud_store_oss_aliyun
Package gtbox_cloud_store_oss_aliyun 基于官方 aliyun-oss-go-sdk 实现 GTCloudStore 接口。
Package gtbox_cloud_store_oss_aliyun 基于官方 aliyun-oss-go-sdk 实现 GTCloudStore 接口。
gtbox_cloud_store_s3_aws
Package gtbox_cloud_store_s3_aws 基于官方 aws-sdk-go-v2 实现 GTCloudStore 接口。
Package gtbox_cloud_store_s3_aws 基于官方 aws-sdk-go-v2 实现 GTCloudStore 接口。
Package gtbox_cmd 本地命令行工具
Package gtbox_cmd 本地命令行工具
Package gtbox_color en: Color Tools, zh-cn: 颜色工具库
Package gtbox_color en: Color Tools, zh-cn: 颜色工具库
Package gtbox_decimal en: Decimal ToolBox, zh-cn: Decimal高精度运算常用工具
Package gtbox_decimal en: Decimal ToolBox, zh-cn: Decimal高精度运算常用工具
Package gtbox_encoding 编码转换"目前仅支持gbk 转utf-8"
Package gtbox_encoding 编码转换"目前仅支持gbk 转utf-8"
Package gtbox_encryption 加密库
Package gtbox_encryption 加密库
Package gtbox_excel Excel处理工具
Package gtbox_excel Excel处理工具
Package gtbox_files 文件处理工具
Package gtbox_files 文件处理工具
Package gtbox_http http客户端工具
Package gtbox_http http客户端工具
Package gtbox_log Log工具
Package gtbox_log Log工具
Package gtbox_net 网络工具
Package gtbox_net 网络工具
Package gtbox_number en: Number handle, zh-cn: 珠子类型处理
Package gtbox_number en: Number handle, zh-cn: 珠子类型处理
gtbox_orm
gtbox_orm_mysql
Package gtbox_orm_mysql en: mysql handle, zh-cn: mysql 封装处理
Package gtbox_orm_mysql en: mysql handle, zh-cn: mysql 封装处理
gtbox_orm_postgres
Package gtbox_orm_postgres 提供 PostgreSQL 默认单例与独立实例,业务操作使用 PostgresDB。
Package gtbox_orm_postgres 提供 PostgreSQL 默认单例与独立实例,业务操作使用 PostgresDB。
gtbox_orm_sqlite
Package gtbox_orm_sqlite en: sqlite handle, zh-cn: sqlite 封装处理
Package gtbox_orm_sqlite en: sqlite handle, zh-cn: sqlite 封装处理
Package gtbox_pdf is the PDF utility namespace for gtbox.
Package gtbox_pdf is the PDF utility namespace for gtbox.
Package gtbox_redis en: Redis handle, zh-cn: Redis封装处理
Package gtbox_redis en: Redis handle, zh-cn: Redis封装处理
Package gtbox_reflect 反射方法工具库
Package gtbox_reflect 反射方法工具库
Package gtbox_ssh SSH工具库
Package gtbox_ssh SSH工具库
Package gtbox_string 字符串处理
Package gtbox_string 字符串处理
gtbox_sys_net_optimize
Package gtbox_sys_net_optimize 主要提供网络并发优化功能
Package gtbox_sys_net_optimize 主要提供网络并发优化功能
Package gtbox_time 时间相关工具
Package gtbox_time 时间相关工具

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL