-
golang高并发singleflight防缓存击穿
July 28, 2024
本文主要分析了 Golang 中的一个第三方库,防缓存击穿利器 singleflight,包括基本使用和源码分析。 …
-
gin Bind 参数绑定
February 25, 2023
这篇文章主要讲述了Gin框架中的参数绑定功能,包括Bind和ShouldBind的区别以及使用方法。Bind在出错时会返回400状态码,而ShouldBind则允许用户自定义错误码。文章还详细介绍了ShouldBind和ShouldBindJSON的使用场景,前者主要用于非GET请求的json参数绑定,后者则专门用于json参数的绑定。 …
-
gin binding tag
February 25, 2023
这篇文章详细介绍了在Golang中使用的各种绑定标签。包括但不限于required、unique、omitempty等,每个标签都有详细的说明和使用示例。这些标签在使用Gin框架进行数据验证时非常有用。文章还提供了一个链接,供读者进一步了解和学习这些标签的使用。 …
-
golang连接mysql数据库导出csv文件
February 25, 2023
这篇文章介绍了如何使用Go语言连接MySQL数据库并导出CSV文件。首先,我们需要使用sql.Open函数连接到数据库。然后,我们使用db.Query函数查询用户数据。接着,我们将查询结果添加到一个二维字符串数组中,准备写入CSV文件。最后,我们调用WriteCsv函数将数据写入CSV文件。这个函数首先创建一个新的文件,然后使用csv.NewWriter创建一个新的CSV writer,最后将数据写入文件并刷新writer。 …
-
gin proxy代理
November 24, 2022
这篇文章介绍了如何使用Go语言的Gin框架和httputil.NewSingleHostReverseProxy方法实现代理服务。文章提供了详细的代码示例,展示了如何创建一个反向代理,将请求转发到指定的远程服务器。同时,文章还解释了如何设置请求的头部、主机、URL方案和路径等信息。 …
-
gin当请求对象为数组时,binding不生效问题解决
November 24, 2022
这篇文章主要解决了在使用Go语言的gin框架进行请求绑定时,如果请求对象为数组,绑定可能不会生效的问题。文章首先展示了问题的产生,然后提供了解决方案:在数组类型的绑定标签中,将required改为dive。这样,gin就会递归验证数组中的每一个对象。最后,文章提供了相关的参考链接。 …
-
Gomonkey测试框架
June 27, 2022
这篇文章介绍了Golang的单元测试工具Gomonkey。Gomonkey支持为函数、成员方法、函数变量、接口和全局变量打桩。文章详细展示了如何使用Gomonkey进行单元测试,并列出了可能导致打桩失败的原因。同时,文章还解释了什么是内联,并展示了如何禁用内联进行测试。 …
-
GoConvey测试框架
June 27, 2022
这篇文章介绍了GoConvey测试框架的使用。GoConvey是一款针对Golang的测试框架,可以管理和运行测试用例,提供丰富的断言函数,并支持Web界面特性。文章详细介绍了如何安装GoConvey,如何编写测试用例,并展示了测试用例的执行结果。同时,文章还提供了一些编写测试用例的建议和参考链接。 …
-
Golang json 性能分析
June 22, 2022
这篇文章主要分析了Go语言中不同JSON库的性能。作者测试了ffjson、easyjson、jsoniter、codecjson和jsonparser等库,结果显示easyjson在序列化和反序列化方面表现最优,性能提升显著。jsoniter性能也很好,且100%兼容原生库。ffjson和codecjson的性能提升不明显,而jsonparser并不适合这样的场景。作者建议在追求极致性能时考虑使用easyjson,否则使用jsoniter。 …
-
Golang benchmark 性能测试
June 22, 2022
这篇文章详述了Go语言的benchmark性能测试的使用方法和解析。它详细阐述了go test命令的参数及其作用,并通过一个实例展示了如何进行性能测试和结果分析。文章还介绍了如何利用pprof进行性能分析,并提供了相关的参考链接。 …