Go语言技术文章
-
用 runtime/trace.NewTask 把跨 goroutine 的一次逻辑操作关联到同一个 Context,说明 Region、Log、Task.End 与 trace 文件收集的配合方式。266 收藏 -
Go bytes.CutPrefix 返回去掉前缀后的字节切片和 found 标记,适合判断输入是否以指定前缀开头。本文用原创示例说明匹配成功、前缀缺失、空前缀和底层切片复用边界,并把后续业务校验独立出来。265 收藏 -
介绍Go strconv.Quote生成可复制字符串字面量的写法,通过特殊字符与Unquote示例区分值和展示层,补充ASCII输出、缓冲追加及目标语法边界。263 收藏 -
Go 升级后 bufio.Scanner 的分行结果、token 数量或错误表现发生变化时,先固定工具链和输入,再核对 SplitFunc、Buffer、Bytes 生命周期与 Err 结果,避免把输入边界误判为版本回归。262 收藏 -
Go 的 Mutex 首次使用后不能复制。值接收者、结构体赋值和返回值都可能产生锁副本;如果副本仍指向同一底层数据,就会出现多个锁保护同一对象的并发风险。260 收藏 -
解释 Go x509.Certificate.CreateCRL 的签发证书、吊销条目、私钥和时间参数,并说明旧接口与 CreateRevocationList 的标准兼容边界。257 收藏 -
Go 1.24 的 runtime.AddCleanup 适合为资源包装对象提供 GC 兜底,但 nil 指针、反向持有和退出时机都不能含糊处理。本文用分支基线和一个可显式关闭的文件包装器,说明异常路径应该如何收口。256 收藏 -
介绍Go archive/tar写入目录、文件模式和大小的方法,提供空目录与脚本示例,说明FileInfoHeader权限转换、关闭错误和失败回退。254 收藏 -
Go 进程内存持续增长而 heap profile 没有明显对象时,不要直接认定是 heap 泄漏。本文区分 RSS、HeapAlloc、堆保留空间、goroutine 栈和分配 churn,并用 heap、allocs、runtime.MemStats 与 runtime/metrics 组合定位增长层。253 收藏 -
Go 的 http.Request.Cookie 查找不到目标 Cookie 时返回 http.ErrNoCookie;Cookie 存在但 Value 为空时仍会返回 Cookie 指针。本文按错误、指针和值三层说明判断顺序,并补充同名 Cookie 的处理边界。251 收藏 -
Go HTTP 客户端收到响应后如果忘记关闭 Response.Body,Transport 可能无法复用持久连接,循环请求中就会出现空闲连接变少、重复建连和资源占用升高。本文按错误分支、读到 EOF、Client/Transport 复用三个层面给出排查和修复方式。251 收藏 -
Go 类型断言的单值写法在目标类型不匹配时会 panic。本文用 comma-ok 形式、nil 边界和 type switch,说明怎样安全处理接口中的动态类型。250 收藏 -
Go bufio.Reader.Reset 会丢弃已有缓冲、重置读取状态并切换到底层 io.Reader,适合在批量处理多段输入时复用 Reader 对象。本文用字符串和文件场景说明复用方式、资源关闭责任、零值初始化、自身 Reset 以及旧缓冲数据的边界。249 收藏 -
Go 子测试名称里的斜杠会参与分段匹配。本文用原创路由测试说明 -run 的逐段正则、空中间段、锚点与父测试执行规则,并给出名称回滚和叶子用例确认方法。249 收藏 -
sync.Pool归还对象不等于立即释放内存,也不会自动关闭外部资源。文章解释容量保留、外部引用和所有权错误,给出按容量筛选缓冲区的示例及对象池适用判断。247 收藏