golang 在 Go 1.18中提供了泛型特性,相信很多goper小伙伴的跃跃欲试想要尝鲜了,但是安装新版本golang的同时又希望保留老的版本,以免影响现有的稳定代码仓库...
golang 在 Go 1.18中提供了泛型特性,相信很多goper小伙伴的跃跃欲试想要尝鲜了,但是安装新版本golang的同时又希望保留老的版本,以免影响现有的稳定代码仓库...
Go commons pool介绍 如果你需要开发一个连接池,用于实现连接对象的重复使用,从而避免频繁的创建和销毁连接,造成响应的延时。那么你完全可以基于Go commons...
最近需要实现一个功能,查找车辆附近的加油站,如果车和加油站距离在200米以内,则查找成功。 加油站数量肯定不小,能否缩小查找范围,否则以遍历形式,效率肯定高不了。 Geoha...
之前在维护 ETCD 集群时,发现ETCD有时会意外崩溃,在定位到具体问题之前,为了保证集群可用,开发了一个简单的服务保活脚本,主要流程是如下:每分钟检查一下服务是否存在,如...
1、redigo客户端的返回值解析 从上一节的内容可知,Do() 和 Receive() 等方法的返回值,除了 error 外,是一个 interface{} 类型的返回值,...
1、golang语言Redis客户端简介 通常我们在选择某一组件的客户端包时,优先选择官方提供的包。redis 本身虽然并没有提供 go 语言的 client 包,但是提供了...
在一次开发过程中,想要将程序运行环境的变量作为缓存的key值作为区分,因此在声明全局变量时使用了其他变量赋值。通过如下测试代码简化具体逻辑。 当我们执行测试程序时,诡异的事情...
数组是由相同类型元素的集合组成的数据结构,计算机会为数组分配一块连续的内存来保存其中的元素,我们可以利用数组中元素的索引快速访问特定元素。goalng中的数组在定义时必须指定...
在golang slice扩容方法中有一种判断一个整数数值是否为2的整数次幂的方法。通过位运算的方式,具有极高的效率。具体如下: 通过分析我们发现一个满足2n的整数的二进制都...
几种常用内容类型(Content-Type)的http客户端开发实例 在开发过程中,通常会遇到与其他服务做信息交换的情况,大多数情况下会通过http接口实现信息的交换。但是不...
mysql中json数据类型的使用及底层实现逻辑(源码解析) 一、mysql中json对象的操作 mysql 从5.7版本开始增加了对json数据类型的支持。此前,用户通常将...
golang 单元测试、基准测试、子测试、并发测试基础教程 一、go test基础 用法: go test [build/test flags] [packages] [bu...
在一次需求开发过程中,需要在服务B中将服务A产生的一部分数据透传给用户,这部分数据结构由服务A和用户决定,服务B只负责透传,但是这部分数据需要被封装在结构体Msg中透传哥给用...
1、背景介绍 受限于mysql客户端的传输限制及实际处理数据的需求,在处理大表数据时我们通常会使用分页操作。但是在某次分页查询过程中却发现了一个有趣的问题。 某次我们计划将一...
1、背景介绍 在某次执行sql数据插入过程中出现了如下错误: 通过查阅资料发现,该问题是由于mysql数据编码问题导致的。这就不得不提到mysql最被人们广为诟病的问题:my...
1、 背景介绍 Set是一种基本的数据结构,它具备确定性、互异性、无序性三个特点。因此,在开发过程中我们通常用它来判断一些数据的集合与另一个数据集合或者元素的包含关系。在大部...
事情发生在公元2021年2月份,石同学接到了一个开发任务,考虑不到本章主要介绍golang-set相关的问题,因此开发任务简单理解为:开发一个条件过滤器,用于判断某一件商品的...
本文通过一次mysql packet for query is too large问题的排查经历,从go-mysql-driver源码层面解析问题出现的原因及解决方案,进而引...