静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言
在 Go 1.18 引入泛型后,~ 波浪号操作符和接口类型集(type set)经常被混用。一个典型场景是写一个泛型函数,既要接受底层类型为 int 的自定义类...
线上 Go 服务在流量高峰期偶发大量 dial tcp: lookup api.example.com: no such host 和 connection r...
写 Go 服务时,context.WithCancel 基本上每天都会用到,尤其是处理下游 HTTP 请求、数据库查询或者启动后台 goroutine 的场景。...
线上一个用 Go 写的网关服务每隔几天就会出现响应极慢、大量 502 的情况,重启后恢复,但很快复发。用 netstat 一看,TIME_WAIT 状态的连接堆...
写 Go 并发代码时,channel 的阻塞特性很容易让程序在没有任何报错的情况下直接挂死,表现为 fatal error: all goroutines ar...
线上 Go 服务运行几天后 RSS 从 200MB 涨到 1.2GB,GC 频率正常但内存不回落,pprof 显示大量临时对象分配在堆上。这个场景在网关、日志采...
写过一段时间 Go 服务之后,大概率会在某个热点路径上看到频繁的对象分配,然后想到用 sync.Pool 来复用临时对象、降低 GC 压力。但实际落地时经常遇到...
线上一个用 Golang 写的定时同步服务,跑了几天之后内存缓慢上涨,goroutine 数量从启动时的十几个涨到几千个,pprof 里能看到大量 runtim...
在一个长连接推送服务里,每个连接都挂了一个 time.Timer 用来做空闲超时检测。逻辑很直白:每次收到客户端消息就重置定时器,如果超过 30 秒没有新消息就...
线上一个 Go 服务跑几天内存就涨到几个 G,重启后恢复,过几天又上去。这种周期性上涨通常不是内存泄漏那种"永远不释放",而是某些对象被意外持有,GC 无法回收...
OneX 知识平台:一个面向AI时代的知识交付平台,12+ 高质量体系课、4+ 实战项目,涵盖 Go、云原生、AI 。
Now I will show you how to add a real‑time chat plugin for your website's custom...
写Go重构代码的时候,你一定遇见过这种尴尬场景:点一下「添加结构体标签」,它直接硬塞json标签,大小写还不能改;想一键实现接口,只能手写impl工具,复制粘贴...
「杰哥杰哥!你看这个——Rust 连续八年最受欢迎语言!我是不是该直接学 Rust 啊?」
Go后台管理系统做日志保留和自动清理,应先验收任务是否注册、调度是否生效、删除条件是否一致,再决定保留天数。源码写了默认30天,不代表生产已经开启清理;任务返回...