Go语言技术文章
-
Go pprof 的 CPU 采样窗口由 StartCPUProfile 和 StopCPUProfile 之间的代码区间决定。本文用一个可控的业务函数说明文件创建、错误处理、defer 顺序、重复启动边界以及 go tool pprof 的查看方式。226 收藏 -
Go 测试临时目录在 Windows 清理失败,应先排查文件句柄、后台任务退出和 Cleanup 顺序。本文用完整测试示例说明停止与完成信号,明确 TempDir 自动删除的职责边界。226 收藏 -
Go 流式响应中 ResponseController.Flush 返回错误时,先用 errors.Is 区分 ErrNotSupported 与底层刷新失败,再检查 ResponseWriter 包装层、写入时机和代理缓冲,避免把客户端延迟误判成服务端能力不支持。226 收藏 -
Go strings.SplitAfterSeq 返回一次性迭代器,适合按分隔符遍历并保留分隔符所在片段。本文从日志和协议文本的输入边界出发,说明尾部片段、空分隔符、无匹配和单次迭代的处理方式。226 收藏 -
用 Go 的 utf8.RuneLen 判断单个 rune 的 UTF-8 字节宽度,说明 1 到 4 字节与 -1 的含义,并区分 RuneError、非法 rune、字符串字节数和 rune 数。226 收藏 -
Go httptrace.Got1xxResponse 会在最终响应前收到每个 1xx 信息响应的状态码和响应头。本文说明如何把 ClientTrace 挂到请求上下文、读取 MIMEHeader、处理 100 Continue 与 103 Early Hints,并划清错误中止、重定向和响应体关闭边界。226 收藏 -
Go hash/crc64.Update 接收当前 CRC64 值、同一个 Table 和一段字节,返回加入该分块后的新校验值。本文说明怎样按原顺序连续更新,并用 Checksum 对照整块结果,避免每块重置或更换 Table。226 收藏 -
Go slices.MaxFunc 适合从结构体切片中按自定义比较器挑出一条最高优先级记录。本文给出最小写法,说明比较方向、相等项、空切片 panic 和多字段决策边界。226 收藏 -
说明 Go CEL 如何在 Program 创建阶段用 OptOptimize 预计算常量参数,并通过复用同一个 Program 处理不同输入;同时区分运行时变量、OptPartialEval 与结果缓存。226 收藏 -
Go Gonum 的最短路径结果不能只看 weight 是否为 0。本文结合 Shortest.To 和 WeightTo 的契约,区分源节点、零成本路径、不可达节点、未知节点与负环,并给出可复用的分类写法。226 收藏 -
Go container/ring 的 Unlink 从当前节点之后摘除连续节点,并返回独立子环。用六节点示例说明数量取模、锚点选择、剩余长度与返回值别名,以及严格数量包装方式。226 收藏 -
Go 字符串出现非法 UTF-8 后,如何用 ToValidUTF8 按连续片段替换、保留合法 U+FFFD,并约束替换字符串和原始数据保留策略。226 收藏 -
Go 的 debug/elf.File.SectionByType 按 SectionType 返回第一个匹配的 ELF 区段。本文从 elf.Open 开始,说明 nil 判断、区段元数据读取、多匹配遍历和不可信 ELF 输入的资源边界。226 收藏 -
Go 的 http.Client 不会替一次性请求体自动保存可重试副本。本文说明 Request.GetBody 的作用、NewRequest 对常见 Reader 的自动处理、自定义 body 的实现方式,以及重试次数、响应关闭和幂等性边界。226 收藏 -
Go net/url 的 URL.JoinPath 适合把已有 URL 与多个路径片段组合,并统一清理多余斜杠、. 和 ..。本文说明路径片段转义、查询参数保留和与 ResolveReference 的边界。225 收藏