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

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

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

推荐文章

Hypothesis是一个强大的Python测试库
2024-11-19 04:31:30 +0800 CST
php内置函数除法取整和取余数
2024-11-19 10:11:51 +0800 CST
推荐几个前端常用的工具网站
2024-11-19 07:58:08 +0800 CST
CSS 奇技淫巧
2024-11-19 08:34:21 +0800 CST
Python设计模式之工厂模式详解
2024-11-19 09:36:23 +0800 CST
PHP 唯一卡号生成
2024-11-18 21:24:12 +0800 CST
15 个你应该了解的有用 CSS 属性
2024-11-18 15:24:50 +0800 CST
CSS Grid 和 Flexbox 的主要区别
2024-11-18 23:09:50 +0800 CST
Elasticsearch 聚合和分析
2024-11-19 06:44:08 +0800 CST
一些高质量的Mac软件资源网站
2024-11-19 08:16:01 +0800 CST
mysql int bigint 自增索引范围
2024-11-18 07:29:12 +0800 CST
小技巧vscode去除空格方法
2024-11-17 05:00:30 +0800 CST
Vue3中如何处理状态管理?
2024-11-17 07:13:45 +0800 CST
JavaScript中设置器和获取器
2024-11-17 19:54:27 +0800 CST
程序员茄子在线接单