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

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

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

推荐文章

php内置函数除法取整和取余数
2024-11-19 10:11:51 +0800 CST
api远程把word文件转换为pdf
2024-11-19 03:48:33 +0800 CST
淘宝npm镜像使用方法
2024-11-18 23:50:48 +0800 CST
Vue3 中提供了哪些新的指令
2024-11-19 01:48:20 +0800 CST
Elasticsearch 条件查询
2024-11-19 06:50:24 +0800 CST
Vue3中如何进行异步组件的加载?
2024-11-17 04:29:53 +0800 CST
避免 Go 语言中的接口污染
2024-11-19 05:20:53 +0800 CST
GROMACS:一个美轮美奂的C++库
2024-11-18 19:43:29 +0800 CST
全栈工程师的技术栈
2024-11-19 10:13:20 +0800 CST
Plyr.js 播放器介绍
2024-11-18 12:39:35 +0800 CST
Vue3中的事件处理方式有何变化?
2024-11-17 17:10:29 +0800 CST
Flet 构建跨平台应用的 Python 框架
2025-03-21 08:40:53 +0800 CST
从Go开发者的视角看Rust
2024-11-18 11:49:49 +0800 CST
Roop是一款免费开源的AI换脸工具
2024-11-19 08:31:01 +0800 CST
windows下mysql使用source导入数据
2024-11-17 05:03:50 +0800 CST
mysql int bigint 自增索引范围
2024-11-18 07:29:12 +0800 CST
filecmp,一个Python中非常有用的库
2024-11-19 03:23:11 +0800 CST
MyLib5,一个Python中非常有用的库
2024-11-18 12:50:13 +0800 CST
MySQL 1364 错误解决办法
2024-11-19 05:07:59 +0800 CST
Nginx 如何防止 DDoS 攻击
2024-11-18 21:51:48 +0800 CST
程序员茄子在线接单