编程 提升生产力的 Golang 实用工具推荐,让开发更轻松!

2024-11-18 04:40:01 +0800 CST views 774

提升生产力的 Golang 实用工具推荐,让开发更轻松!

在开发 Golang 项目过程中,我断断续续地编写了一些实用的扩展包,用以简化日常开发任务。这些工具覆盖了从地址生成、数据脱敏、文本处理到时间和数组处理等多个方面。以下是这些扩展包的详细介绍及使用示例。

1. [chinese-address-generator]

chinese-address-generator 专注于生成中国地区的地址信息,适用于测试数据生成或表单预填充场景。该包优化了 PHP 和 Node.js 的类似功能,以适应 Golang 项目需求。

GitHub 地址: chinese-address-generator

特性

  • 支持生成省、市、区、县四级地址。
  • 提供完整的虚拟地址生成方法,方便模拟数据。

安装

go get github.com/GoFinalPack/chinese-address-generator@v1.0.0

使用示例

g := chineseaddressgenerator.Generator{}
g.Init()
level1 := g.GenerateLevel1()  // 生成一级地址
fmt.Println(level1)           // {"code": "230000", "region": "黑龙江省"}
level4 := g.GenerateLevel4()   // 生成四级地址
fmt.Println(level4)           // {"code": "310113111000", "region": "上海市市辖区宝山区高境镇"}
fullAddress := g.FabricateFullAddress()  // 生成完整地址
fmt.Println(fullAddress)      // 完整地址信息

2. [pf_util]

pf_util 是一个用于信息脱敏的工具包,处理身份证号、手机号、邮箱等敏感信息。适用于对隐私数据进行保护。

GitHub 地址: pf_util

特性

  • 支持多种类型的脱敏,包括身份证号、手机号码等。
  • 支持自定义脱敏规则,满足多样化需求。

安装

go get github.com/GoFinalPack/pf_util@v1.0.0

使用示例

d := pf_util.DesensitizedUtil{}
res := d.SetType(2).Desensitized("51343620000320711X")  // 身份证脱敏
fmt.Println(res)  // 5***************1X

3. [auto-correct]

auto-correct 是一个用于自动调整中英文之间空格并修正专有名词大小写的工具,适合保持文档一致性。

GitHub 地址: auto-correct

特性

  • 自动在中英文之间添加适当的空格。
  • 修正专有名词大小写,支持自定义词典。

安装

go get -u github.com/GoFinalPack/auto-correct@v1.0.0

使用示例

a := auto_correct.AutoCorrect{}
a.Init()
text := "golang 使用中文测试"
fmt.Println(a.Correct(text))  // Golang 使用中文测试

4. [unique]

unique 是一个用于生成唯一字符串的小工具,常用于高并发环境下的数据唯一性保障。

GitHub 地址: unique

特性

  • 基于时间戳生成唯一 ID。
  • 支持雪花算法生成唯一 ID。

安装

go get github.com/GoFinalPack/unique@v1.0

使用示例

u := &Unique{}
fmt.Println(u.GetUniqueCodeBySnowflake().String())  // 生成雪花算法ID

5. [sectioning]

sectioning 提供对数组和切片的常用操作,适合处理复杂数据结构时使用。

GitHub 地址: sectioning

特性

  • 支持数组元素查找、删除、唯一提取、排序等操作。
  • 提供简便的数组和切片操作函数。

安装

go get github.com/GoFinalPack/sectioning@v1.0

使用示例

intSlice := []int{1, 2, 3, 7, 0, 4, 7}
b := Shuffle(intSlice)
fmt.Println(b)  // 打乱后的切片

6. [carbon]

carbon 是一个类似于 Laravel Carbon 的时间处理包,专门为 Golang 开发,虽然较早开发,但仍适用于多个项目。

GitHub 地址: carbon

安装

go get github.com/GoFinalPack/carbon@v1.0

使用示例

t := &carbon.Carbon{}
fmt.Println(t.Now())  // 获取当前时间
fmt.Println(t.TimestampToDate(1640844203, "Ymd"))  // 时间戳转日期

总结

上述扩展包是我在日常开发工作中编写的一些常用工具,覆盖了多个常见的开发场景。如果这些工具能够帮助你提升开发效率,请随时在项目中使用。

复制全文 生成海报 Golang 开发工具 生产力提升

推荐文章

JS 箭头函数
2024-11-17 19:09:58 +0800 CST
php curl并发代码
2024-11-18 01:45:03 +0800 CST
JavaScript设计模式:桥接模式
2024-11-18 19:03:40 +0800 CST
HTML + CSS 实现微信钱包界面
2024-11-18 14:59:25 +0800 CST
在 Nginx 中保存并记录 POST 数据
2024-11-19 06:54:06 +0800 CST
PHP 微信红包算法
2024-11-17 22:45:34 +0800 CST
curl错误代码表
2024-11-17 09:34:46 +0800 CST
Vue3中如何实现国际化(i18n)?
2024-11-19 06:35:21 +0800 CST
Vue3中的v-model指令有什么变化?
2024-11-18 20:00:17 +0800 CST
跟着 IP 地址,我能找到你家不?
2024-11-18 12:12:54 +0800 CST
用 Rust 构建一个 WebSocket 服务器
2024-11-19 10:08:22 +0800 CST
Golang - 使用 GoFakeIt 生成 Mock 数据
2024-11-18 15:51:22 +0800 CST
程序员茄子在线接单