Go 迭代变量的陷阱

在并发的goroutine中遇到这个问题,还以为是goroutine的问题,或者Go闭包的问题, 一层一层分析下来,才知道是Go本身迭代变量的问题,想起了PHP的foreach陷阱【PHP引用理解之神奇的foreach面试题】,不仅感慨深入掌握一门语言何其不易呀 ​​​

先说结论:Go在循环体中,每次遍历的变量是同一个,指向同样的内存地址,这是语言本身的一个陷阱

问题先行,我们先来看看问题
继续阅读

Goland高效使用笔记

Goland是JetBrains公司的付费Go语言IDE,改公司的编辑器还有IntelliJ IDEA(Java语言),PyCharm(python), WebStorm(js/css)等。没有特别说明以下内容都是在Mac环境下

一、常用快捷键
继续阅读

Mac作为开发机的笔记

第一部分 背景

之前不管办公用的Windows还是Mac,项目开发都是登陆到Linux上进行的,近期使用Go后,直接就在Mac本地开发,一些常用的环境和工具配置安装做个笔记

继续阅读

MySQL Limit用法笔记

最近用低代码平台amis, 2天搭了一个审核系统,为了快点看到效果,没有使用框架的ORM,直接写SQL,结果分页展示数据,总数比展示数据多一条,原因是在MySQL Limit上翻车了。特别震惊,工作这么多年了,自己真的不知道limit的用法。
继续阅读

base64学习使用笔记

第一部分 概念&原理

一、base64是什么
用64个可打印字符来表示二进制数据的方法。【编码后的字符长度不是32位或64位,而是4的倍数,今天还想当然的以为是32位
Base64【维基百科中文】
继续阅读