发现一个宝藏工具站点,可以对hash处理后的手机号进行反差。地址在这里:https://phonehash.cn/single
Go读取任意内存地址的任意字节数据
在介绍读取方法之前,首先介绍两种类型:unsafe.Pointer 和uintptr。 unsafe.Pointer代表的是任意类型的指针,它支持四种特有的操作: 任意类型的指针变量都可以转换为unsafe.Pointe…
听说string内容不能修改?我偏要改给你看!
很多文章都说,Go语言中的string类型被设计为不可修改(immutable)的。的确,从Go语法的角度来说,确实是无法修改的。比如如下代码: 那么有没有什么办法突破这个限制呢?答案是有的。 很多文章都讲过通过unsa…
记一次新老系统数据迁移过程
本文是对一次数据迁移过程的详细记录。 背景 系统重构了以后,需要把老数据迁移至新系统,并且老系统仍然需要持续运行一段时间来进行过渡,期间的产生的数据也要保持同步。同时,由于业务原因,新系统产生的部分数据也要同步回老系统,…
方法的receiver为nil的时候是否会造成panic?
以下代码是否会造成程序panic? 毫无疑问,会! 因为table只是声明了变量,但是没有赋值,此时值为零值nil,在调用对应方法时会造成nil dereference panic。 那下面的代码会panic吗? 答案是…
记一次由垃圾回收造成的诡异问题
背景 在Go程序运行的过程中,很有可能造成程序panic,并且这个panic的信息是不会被记录在日志文件中的。这种情况该怎么办?一种方法就是使用recover,通过recover来捕获panic信息,然后再写入日志文件。…
prometheus告警源码分析(一)——执行流程分析
本文根据prometheus master分支最新代码所写,commit id:dca84112a97ea7a31f2ddb2ce7cfb4f7cae91f86 告警是prometheus的一个重要功能,接下来从源码的角…
go2go安装及使用
go的泛型草案已经出来一段时间了,喜欢尝鲜的朋友想必早都已经体验过了。但是基本也都是在playground上小小的尝试了一下。在playground上只能把所有代码写在一个文件里,那有没有方法体验一下在真正的项目中应用泛…









