昨天项目上线,出现一个莫名奇妙的错误,缓存中计算库存所剩余数量,拿全部库存-已用库存,这里设置的库存为uint32位 打印:(刚开始一脸闷逼) 纠错好久,才想起了这是个细节问...
刚接收公司项目时候,go mod拉取gitlab上仓库,总是出现unknown revision问题,没有其他的提示,搜索网上各个博客的解决方法,每一个能解决问题,最后发现是...
使用[]byte代替string 字符串 字符串是一系列8位字节的集合,默认初始化值为"",同时字符串的值是不可以改变的。其数据结构为: []byte byte是int8的别...
因grpc版本问题导致的报错 解决办法修改依赖版本: 因go-system导致的问题 在GOPATH/src下执行 在go mod里加入
问题1:connection reset by peer 首先,看一下TCP握手简单描绘过程: 其握手过程原理,就不必说了,有很多详细文章进行叙述,本文只关注研究重点。在第三...
以下是对自己项目中,常用到的文件操作
项目中需要大量用到从文件服务器获取文件,为了减少一丁点内存的复用,使用了基本的sync.pool,具体代码如下:
在之前项目用到mysql5.6,在docker-compose编排后,插入数据乱码,解决办法是加入运行参数--character-set-server=utf8,简单运行的d...
在API网关开发中,为了获取请求整个代理过程,就需要从x-Forwarded-For获取经历的地址:
sync.pool的内存复用,常用于结构体对象复用 切片的内存复用
因为mysql的8.0以上版本不支持零日期格式,导致gorm插入默认数据出错。 解决方法一:修改代码中struct 1、把日期类型time.Time改为指针类型*time.T...
为什么要尽量避免内存逃逸? 因为如果变量的内存发生逃逸,它的生命周期就是不可知的,其会被分配到堆上,而堆上分配内存不能像栈一样会自动释放,为了解放程序员双手,专注于业务的实现...
使用go mod总是报错: 因为新版默认GOSUMDB=sum.golang.org,这个网站被墙 修改go env环境变量
解释 回溯法是一种优先搜索法,按选优条件向前搜索,以达到目标,简单来说就是一条路往前走,能进则进,不能则退,其实现核心是利用递归实现。 步骤拆分 因为网上的的解释的如出一辙,...
以下是本人在项目经常用到的用法与作用,具体详细介绍可以看详细文档:http://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%...
在看golang的源码包经常看到rune,一直和byte搞混淆。先来看看rune与byte区别: byte 等同于int8,常用于处理ascii字符 rune等等同于int3...
协程go多了,总觉的天下我有,没事就喜欢go一个协程,信手拈来,在项目中写个如下类似代码: 想着开个协程去wait所有协程组,测试一下通了,没问题,好牛逼,协程呀!!可多测试...
golang中的map在并发下是不安全的,如果同时读写会出现: 同时多个协程读取不会出现问题,为了解决此问题,可以在写的时候加锁,让写map时候,读只能同步等待最常用的加锁方...
channel关闭问题 close管道后,继续忘channel发送数据会出错,但可以接受数据,将读取到零值,可以多次读取