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

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

提升生产力的 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 开发工具 生产力提升

推荐文章

在 Rust 中使用 OpenCV 进行绘图
2024-11-19 06:58:07 +0800 CST
25个实用的JavaScript单行代码片段
2024-11-18 04:59:49 +0800 CST
html一些比较人使用的技巧和代码
2024-11-17 05:05:01 +0800 CST
总结出30个代码前端代码规范
2024-11-19 07:59:43 +0800 CST
如何在Vue 3中使用Ref访问DOM元素
2024-11-17 04:22:38 +0800 CST
Vue3中如何进行错误处理?
2024-11-18 05:17:47 +0800 CST
在 Vue 3 中如何创建和使用插件?
2024-11-18 13:42:12 +0800 CST
MySQL用命令行复制表的方法
2024-11-17 05:03:46 +0800 CST
Vue 3 中的 Fragments 是什么?
2024-11-17 17:05:46 +0800 CST
Go中使用依赖注入的实用技巧
2024-11-19 00:24:20 +0800 CST
资源文档库
2024-12-07 20:42:49 +0800 CST
CSS 实现金额数字滚动效果
2024-11-19 09:17:15 +0800 CST
MySQL 优化利剑 EXPLAIN
2024-11-19 00:43:21 +0800 CST
H5端向App端通信(Uniapp 必会)
2025-02-20 10:32:26 +0800 CST
html文本加载动画
2024-11-19 06:24:21 +0800 CST
Python Invoke:强大的自动化任务库
2024-11-18 14:05:40 +0800 CST
记录一次服务器的优化对比
2024-11-19 09:18:23 +0800 CST
Grid布局的简洁性和高效性
2024-11-18 03:48:02 +0800 CST
Vue 3 是如何实现更好的性能的?
2024-11-19 09:06:25 +0800 CST
H5抖音商城小黄车购物系统
2024-11-19 08:04:29 +0800 CST
程序员茄子在线接单