随笔分类 -  Go每日一库

上一页 1 ··· 5 6 7 8 9 10 下一页
摘要:## 简介 [`gentleman`](https://github.com/h2non/gentleman)是一个功能齐全、**插件**驱动的 HTTP 客户端。`gentleman`以扩展性为原则,可以基于内置的或第三方插件创建具有丰富特性的、可复用的 HTTP 客户端。相比标准库`net/ht 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(186) 评论(0) 推荐(0)
摘要:## 简介 `gopsutil`是 Python 工具库[`psutil`](https://github.com/giampaolo/psutil) 的 Golang 移植版,可以帮助我们方便地获取各种系统和硬件信息。`gopsutil`为我们屏蔽了各个系统之间的差异,具有非常强悍的可移植性。有了 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(569) 评论(0) 推荐(0)
摘要:简介 今天我们来介绍一个非常实用的库——validator。validator用于对数据进行校验。在 Web 开发中,对用户传过来的数据我们都需要进行严格校验,防止用户的恶意请求。例如日期格式,用户年龄,性别等必须是正常的值,不能随意设置。 快速使用 先安装: $ go get gopkg.in/g 阅读全文
posted @ 2023-09-28 11:19 larkwins 阅读(392) 评论(0) 推荐(0)
摘要:简介 今天我们介绍一个比较好玩的库govaluate。govaluate与 JavaScript 中的eval功能类似,用于计算任意表达式的值。此类功能函数在 JavaScript/Python 等动态语言中比较常见。govaluate让 Go 这个编译型语言也有了这个能力! 快速使用 先安装: $ 阅读全文
posted @ 2023-09-28 08:39 larkwins 阅读(193) 评论(0) 推荐(0)
摘要:简介 在前面两篇文章中,我们分别介绍了快速读取 JSON 值的库gjson和快速设置 JSON 值的库sjson。今天我们介绍它们的作者tidwall的一个基于gjson和sjson的非常实用的命令行工具jj。它是使用 Go 编写的快速读取和设置 JSON 值的命令行程序。 快速使用 Mac 上可以 阅读全文
posted @ 2023-09-27 18:39 larkwins 阅读(142) 评论(0) 推荐(0)
摘要:简介 在上一篇文章中我们介绍了如何使用gjson快速读取 JSON 串中的值。为了内容的完整性,今天我们介绍一下如何使用sjson快速设置 JSON 串中的值。 快速使用 先安装: $ go get github.com/tidwall/sjson 后使用: package main import 阅读全文
posted @ 2023-09-27 08:44 larkwins 阅读(265) 评论(0) 推荐(0)
摘要:简介 之前我们介绍过gojsonq,可以方便地从一个 JSON 串中读取值。同时它也支持各种查询、汇总统计等功能。今天我们再介绍一个类似的库gjson。在上一篇文章Go 每日一库之 buntdb中我们介绍过 JSON 索引,内部实现其实就是使用gjson这个库。gjson实际上是get + json 阅读全文
posted @ 2023-09-26 18:32 larkwins 阅读(242) 评论(0) 推荐(0)
摘要:简介 buntdb是一个完全用 Go 语言编写的内存键值数据库。它支持 ACID、并发读、自定义索引和空间信息数据。buntdb只用一个源码文件就实现了这些功能,对于想要学习数据库底层知识的童鞋更是不容错过。 感谢@kiyonlin推荐! 快速使用 先安装: $ go get github.com/ 阅读全文
posted @ 2023-09-26 09:07 larkwins 阅读(130) 评论(0) 推荐(0)
摘要:简介 我们时常有比较两个值是否相等的需求,最直接的方式就是使用==操作符,其实==的细节远比你想象的多,我在深入理解 Go 之==中有详细介绍,有兴趣去看看。但是直接用==,一个最明显的弊端就是对于指针,只有两个指针指向同一个对象时,它们才相等,不能进行递归比较。为此,reflect包提供了一个De 阅读全文
posted @ 2023-09-25 18:12 larkwins 阅读(195) 评论(0) 推荐(0)
摘要:简介 今天我们介绍一个 Go 代码生成库jennifer。jennifer支持所有的 Go 语法和特性,可以用它来生成任何 Go 语言代码。 感谢kiyonlin的推荐! 快速使用 先安装: $ go get github.com/dave/jennifer 今天我们换个思路来介绍jennifer这 阅读全文
posted @ 2023-09-25 08:44 larkwins 阅读(113) 评论(0) 推荐(0)
摘要:简介 上一篇文章介绍了mergo库的使用,mergo是用来给结构体或map赋值的。mergo有一个明显的不足——它只能处理相同类型的结构!如果类型不同,即使字段名和类型完全相同,mergo也无能为力。今天我们要介绍的copier库就能处理不同类型之间的赋值。除此之外,copier还能: 调用同名方法 阅读全文
posted @ 2023-09-22 18:20 larkwins 阅读(223) 评论(0) 推荐(0)
摘要:简介 今天我们介绍一个合并结构体字段的库mergo。mergo可以在相同的结构体或map之间赋值,可以将结构体的字段赋值到map中,可以将map的值赋值给结构体的字段。感谢@thinkgos推荐。 快速使用 先安装: $ go get github.com/imdario/mergo 后使用: pa 阅读全文
posted @ 2023-09-22 08:49 larkwins 阅读(200) 评论(0) 推荐(0)
摘要:简介 之前的一篇文章Go 每日一库之 dig介绍了 uber 开源的依赖注入框架dig。读了这篇文章后,@overtalk推荐了 Google 开源的wire工具。所以就有了今天这篇文章,感谢推荐👍 [wire](https://github.com/google/wire)是 Google 开源 阅读全文
posted @ 2023-09-21 08:53 larkwins 阅读(802) 评论(0) 推荐(0)
摘要:简介 在上一篇文章Go 每日一库之 message-bus中,我们介绍了一款小巧、实现简单的异步通信库。作为学习,message-bus确实不错。但是在实际使用上,message-bus的功能就有点捉襟见肘了。例如,message-bus将消息发送到订阅者管道之后就不管了,这样如果订阅者处理压力较大 阅读全文
posted @ 2023-09-20 19:19 larkwins 阅读(246) 评论(0) 推荐(0)
摘要:简介 在一个涉及多模块交互的系统中,如果模块的交互需要手动去调用对方的方法,那么代码的耦合度就太高了。所以产生了异步消息通信。实际上,各种各样的消息队列都是基于异步消息的。不过它们大部分都有着非常复杂的设计,很多被设计成一个独立的软件来使用。今天我们介绍一个非常小巧的异步消息通信库[message- 阅读全文
posted @ 2023-09-20 09:16 larkwins 阅读(170) 评论(0) 推荐(0)
摘要:简介 在日常工作中,每一名开发者,不管是前端还是后端,都经常使用 JSON。JSON 是一个很简单的数据交换格式。相比于 XML,它灵活、轻巧、使用方便。JSON 也是RESTful API推荐的格式。有时,我们只想读取 JSON 中的某一些字段。如果自己手动解析、一层一层读取,这就变得异常繁琐了。 阅读全文
posted @ 2023-09-19 18:39 larkwins 阅读(219) 评论(0) 推荐(0)
摘要:简介 今天我们来介绍 Go 语言的一个依赖注入(DI)库——dig。dig 是 uber 开源的库。Java 依赖注入的库有很多,相信即使不是做 Java 开发的童鞋也听过大名鼎鼎的 Spring。相比庞大的 Spring,dig 很小巧,实现和使用都比较简洁。 快速使用 第三方库需要先安装,由于我 阅读全文
posted @ 2023-09-19 08:59 larkwins 阅读(340) 评论(0) 推荐(0)
摘要:简介 程序中时常有发送邮件的需求。有异常情况了需要通知管理员和负责人,用户下单后可能需要通知订单信息,电商平台、中国移动和联通都有每月账单,这些都可以通过邮件来推送。还有我们平时收到的垃圾邮件大都也是通过这种方式发送的😭。那么如何在 Go 语言发送邮件?本文我们介绍一下email库的使用。 快速使 阅读全文
posted @ 2023-09-18 19:22 larkwins 阅读(352) 评论(0) 推荐(0)
摘要:简介 一线开发人员每天都要使用日期和时间相关的功能,各种定时器,活动时间处理等。标准库time使用起来不太灵活,特别是日期时间的创建和运算。carbon库是一个时间扩展库,基于 PHP 的carbon库编写。提供易于使用的接口。本文就来介绍一下这个库。 快速使用 第三方库需要先安装: $ go ge 阅读全文
posted @ 2023-09-18 09:12 larkwins 阅读(251) 评论(0) 推荐(0)
摘要:简介 twelve-factor应用提倡将配置存储在环境变量中。任何从开发环境切换到生产环境时需要修改的东西都从代码抽取到环境变量里。 但是在实际开发中,如果同一台机器运行多个项目,设置环境变量容易冲突,不实用。godotenv库从.env文件中读取配置, 然后存储到程序的环境变量中。在代码中可以使 阅读全文
posted @ 2023-09-15 17:02 larkwins 阅读(444) 评论(0) 推荐(0)

上一页 1 ··· 5 6 7 8 9 10 下一页