如何定位 golang 进程 hang 死的 bug

之前在golang群里有人问过为什么程序会莫名其妙的hang死然后不再响应任何请求。最终才定位到是业务里出现了类型下面这样的代码:在maingoroutine里循环判断ch里是否数据被填满。

golang tcp编程

golang tcp编程

golang web从入门到精通 http.NewServeMux创建多路复用器

golang 简介Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。golang发展前景适合云计算、微服务、基础后端软件的功能实现。

golang 中拿 slice 当 queue 和拿 list 当 queue

前言我记得曾经有一次参加面试时,在答题过程中非常嘴欠地说了一句:“我之所以代码这么写,因为在 golang 中没有内置的无限长度 queue 的实现……”,当时说完我就后悔了,面试我的人,前几个问题本就有那么几分刻薄,一听这一句,立马就来劲了:“谁说没有?谁说没有?

GO 编程:最常用的调试方法 golang 的 bug 以及性能问题

场景1: 如何分析程序的运行时间与CPU利用率情况?shell内置time指令这个方法不算新颖,但是确很实用。 time是Unix/Linux内置多命令,使用时一般不用传过多参数,直接跟上需要调试多程序即可。$ time go run test2.

golang变相实现抽象类

GitHub – gohutool/boot4go: a bootstrap framework for golang like as spring-boot。

golang之数据验证validator

Phone:     “1326654487”,validator数据验证顺序struct字段从上往下,单个字段规则,先左后右。

golang反射详解

golang提供了一个官方包reflect来获取运行时数据。TypeOf可以获取到类型信息,Valu

详解golang的数据类型和底层实现四

string类型底层是一个byte数组实现的,len是字符串长度,str指向byte数组存放字符的值,所以和数组一样是不可变的,range遍历就是遍历的底层byte数组。

golang 依赖管理

而c++比较奇葩,并没有这样统一的依赖管理工具,大公司好一点,有专门的团队去做这样的工具解决依赖的问题,小公司就只能自己把源码拉下来,放到固定的目录,然后编译成二进制,运气不好的话,还要自己解决各种兼容性的问题。