Go语言技术文章
-
解释 Go TCPConn.CloseWrite 为什么只关闭本地发送方向,拆解已写入数据、FIN、服务端读取与 io.EOF 的关系,并给出发送完请求后继续读取响应的示例。210 收藏 -
Go copy 支持源切片与目的切片重叠。本文用区间和示例说明复制方向、返回值、插入删除写法,以及长度、容量和并发边界。210 收藏 -
Go net/http 中 204 No Content 的正确用法:服务端不要写正文,客户端按状态码决定是否解码响应体。210 收藏 -
Go 1.24 引入 runtime.AddCleanup 后,AddCleanup 与 SetFinalizer 的对象约束、执行顺序、循环引用和取消方式都不同。本文用资源清理场景给出选择和迁移清单。210 收藏 -
用一个可运行的 Go HTTP 示例,把租户配置从全局变量迁移到请求级依赖容器,说明 Handler、TenantConfig 和 context.Context 的边界、取舍与验证方式。209 收藏 -
用 Go text/template 的 Clone 复制公共模板命名空间,再为 Web 和邮件渠道追加独立 body 定义,掌握 ExecuteTemplate、并发执行与 HTML 安全边界。209 收藏 -
Go 的 string 可以保存任意字节,不能只凭字符串类型判断文本合法性。本文用 unicode/utf8.ValidString 做入口校验,并结合 DecodeRuneInString 定位第一个非法 UTF-8 字节。209 收藏 -
Go url.Values 的空值并不等于没有参数:空字符串会编码成 key=,空切片不会输出该键,重复值会按添加顺序展开。本文用 Encode 和 ParseQuery 对照说明三种状态,并给出 Set、Add、Del 的选择边界。209 收藏 -
从 CookieJar 的接口职责、域名路径匹配到 PublicSuffixList 配置,说明 Go HTTP 客户端如何控制会话范围并排查 Cookie 不生效。209 收藏 -
解释 Go bytes.Clone 为什么能让副本与原切片隔离,覆盖切片头、底层数组、长度容量以及 nil 与空切片的边界。209 收藏 -
runtime.Pinner 可在 Go 1.21 及更高版本中显式固定 Go 对象。本文说明 cgo 参数的隐式固定边界、Pin/Unpin 最小写法、嵌套指针规则及跨调用保存指针时的生命周期管理。209 收藏 -
从 Go 官方 test_fuzz_modcache 脚本和 Windows 故障记录拆解模块缓存可写性、模糊测试语料库与 go mod verify 的隔离边界,给出一套不改坏共享缓存的 CI 排查清单。208 收藏 -
Go Modules 的 replace 可以在不修改 import 路径的情况下,把依赖临时切换到相邻目录中的本地分支。本文说明 require 与 replace 的关系、如何确认实际来源,以及测试完成后怎样恢复 go.mod。208 收藏 -
Go 的 trace.NewTask 适合标记会跨多个 goroutine 接力完成的逻辑操作。本文用一个并发汇合示例说明如何传播任务 Context、安排 Task.End,并用 Region 和 Log 补足阶段信息。208 收藏 -
Go archive/tar 写入长路径时报 header field too long 时,重点检查是否强制使用 USTAR;通过默认格式选择或 PAX 保留完整名称,并区分读取时的路径安全错误。208 收藏