模組概覽
LazyGophers Utils 提供 20+ 個專業模組,涵蓋 Go 開發的各個方面。
🔧 核心工具
must.go
錯誤斷言工具,簡化錯誤處理流程。
主要功能:
Must()- 斷言操作成功,失敗時 panicMustSuccess()- 斷言錯誤為 nilMustOk()- 斷言第二個返回值為 true
示例:
orm.go
數據庫操作工具,提供便捷的數據轉換方法。
主要功能:
Scan()- 將數據庫結果掃描到結構體Value()- 將結構體轉換為數據庫值
validator
數據驗證模組,支持結構體驗證。
主要功能:
Validate()- 驗證結構體數據- 內置驗證規則:
required、email、min、max等
🍭 數據處理
candy
類型轉換工具,提供零分配的類型轉換。
主要功能:
ToInt()- 字符串轉整數ToFloat()- 字符串轉浮點數ToBool()- 字符串轉布爾值ToString()- 任意類型轉字符串ToSlice()- 任意類型轉切片ToMap()- 任意類型轉映射
性能: 零分配,比標準庫快 3.2 倍
json
增強的 JSON 處理,提供更好的錯誤消息。
主要功能:
Marshal()- JSON 編碼Unmarshal()- JSON 解碼- 更友好的錯誤消息
stringx
字符串工具,支持 Unicode 感知操作。
主要功能:
Rand()- 生成隨機字符串Reverse()- 反轉字符串Truncate()- 截斷字符串- Unicode 感知的字符串操作
anyx
interface{} 輔助工具,提供類型安全的 any 操作。
主要功能:
- 類型安全的 any 操作
- 泛型支持
⏰ 時間與調度
xtime
高級時間處理,支持農曆、生肖和節氣。
主要功能:
NowCalendar()- 獲取當前日曆LunarDate()- 獲取農曆日期Animal()- 獲取生肖CurrentSolarTerm()- 獲取當前節氣Format()- 格式化日期
特殊功能:
- 🌙 農曆支持
- 🐲 生肖計算
- 🌾 節氣計算
xtime996
996 工作時間計算。
主要功能:
IsWorkTime()- 檢查是否為工作時間- 工作時間計算
xtime955
955 工作時間計算。
主要功能:
IsWorkTime()- 檢查是否為工作時間- 平衡時間表支持
xtime007
24/7 操作時間工具。
主要功能:
- 始終在線的時間工具
- 24/7 時間處理
🔧 系統與配置
config
配置管理,支持多種配置格式。
主要功能:
Load()- 加載配置文件- 支持的格式:JSON、YAML、TOML、INI、HCL
runtime
運行時信息,提供系統檢測和診斷。
主要功能:
- 系統信息檢測
- 運行時診斷
osx
操作系統操作,提供文件和進程管理。
主要功能:
- 文件操作
- 進程管理
app
應用框架,提供生命週期管理。
主要功能:
- 應用生命週期管理
- 啟動和關閉處理
atexit
優雅關閉,提供乾淨的退出處理。
主要功能:
- 註冊退出處理器
- 優雅關閉
🌐 網絡與安全
network
HTTP 工具,提供連接池和重試邏輯。
主要功能:
- 連接池管理
- 重試邏輯
- HTTP 客戶端工具
cryptox
加密函數,提供哈希、加密和安全隨機。
主要功能:
- 哈希函數:MD5、SHA1、SHA256、SHA512
- 加密:AES、DES、RSA、ECDSA、ECDH
- 安全隨機數生成
- UUID 生成
pgp
PGP 操作,提供郵件加密和文件簽名。
主要功能:
- PGP 加密
- 文件簽名
- 郵件加密
urlx
URL 操作,提供解析、構建和驗證。
主要功能:
- URL 解析
- URL 構建
- URL 驗證
- 查詢參數處理
🚀 並發與控制流
routine
Goroutine 管理,提供工作池和任務調度。
主要功能:
NewPool()- 創建工作池Submit()- 提交任務Close()- 關閉工作池
wait
流程控制,提供超時、重試和速率限制。
主要功能:
For()- 等待條件Retry()- 重試操作- 超時控制
- 速率限制
hystrix
熔斷器,提供容錯和優雅降級。
主要功能:
Do()- 使用熔斷器保護執行操作- 熔斷器配置
- 容錯
singledo
單例執行,防止重複操作。
主要功能:
- 確保操作只執行一次
- 防止重複計算
event
事件系統,實現發布/訂閱模式。
主要功能:
- 事件發布
- 事件訂閱
- 事件處理
🧪 開發與測試
fake
測試數據生成,支持單元測試和集成測試。
主要功能:
- 生成隨機姓名
- 生成隨機地址
- 生成隨機公司
- 生成隨機文本
- 支持多種語言
randx
隨機工具,提供加密安全的隨機數。
主要功能:
- 加密安全的隨機數
- 隨機布爾值
- 隨機數字
- 隨機時間
defaults
默認值,提供結構體初始化。
主要功能:
- 設置結構體默認值
- 從標籤讀取默認值
pyroscope
性能分析,提供生產監控。
主要功能:
- Pyroscope 集成
- 性能分析
- 生產監控