Skip to content

ningblue/go-lib

Repository files navigation

go-lib

自建 Go 通用工具库,提供常用的工具函数和组件。

安装

go get github.com/ningblue/go-lib

包含的模块

🧩 slice - 切片操作工具

提供丰富的切片操作函数,如过滤、映射、去重等。

import "github.com/ningblue/go-lib/slice"

// 示例:去重
uniqueSlice := slice.Unique([]int{1, 2, 2, 3, 3, 4})

📝 logger - 日志工具

基于 zap 的结构化日志组件,支持链路追踪。

import "github.com/ningblue/go-lib/logger"

log := logger.NewLogger()
log.Info("Hello World")

🔐 cryptor - 加密工具

提供常用的加密解密功能。

import "github.com/ningblue/go-lib/cryptor"

🗄️ db - 数据库工具

支持 MongoDB、MySQL、Redis 等数据库的操作工具。

  • db/mongodb - MongoDB 操作
  • db/gorm - GORM 相关工具
  • db/mysql - MySQL 工具
  • db/redis - Redis 工具

🌐 httpclient - HTTP 客户端

HTTP 请求客户端工具。

import "github.com/ningblue/go-lib/httpclient"

🔧 utils - 通用工具

各种通用工具函数。

import "github.com/ningblue/go-lib/utils"

其他模块

  • convert - 数据类型转换
  • mathutil - 数学工具函数
  • pointer - 指针操作工具
  • random - 随机数生成
  • render - 渲染工具
  • structs - 结构体操作
  • validator - 数据验证

使用示例

package main

import (
    "fmt"
    "github.com/ningblue/go-lib/slice"
    "github.com/ningblue/go-lib/random"
)

func main() {
    // 使用 slice 包
    numbers := []int{1, 2, 3, 4, 5}
    doubled := slice.Map(numbers, func(i int, v int) int { return v * 2 })
    fmt.Println(doubled) // [2, 4, 6, 8, 10]

    // 使用 random 包
    randomStr := random.RandString(10)
    fmt.Println(randomStr)
}

贡献

欢迎提交 PR 和 Issue!

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages