-
Go token.FileSet 把每个源码文件映射到一个包含 EOF 的位置区间。本文解释 AddFile 的 base、size 与 FileSet.Base 关系,说明手工复用 base、混用本地 offset 时为什么会出现 panic 或位置错位,并给出多文件位置分配与排查写法。
-
testing/quick 默认通过反射生成输入,遇到含不可导出字段的结构体就无法自动构造。本文用自定义 Generator 和 Config.Values 两条路径处理本地类型与 time.Time 等外部类型,并说明随机边界与可复现配置。
-
Go runtime/metrics 的 Value 不能一律按 uint64 读取,应先依据 Description.Kind 选择 Uint64、Float64 或 Float64Histogram;本文整理 KindBad、未知类型和稳定读取流程。
-
Go runtime/metrics.Read 支持把指标名称放入可复用的 Sample 切片中批量读取。本文从定时采集场景出发,说明如何准备固定容器、按 ValueKind 取值、处理 KindBad,并在并发采集时隔离底层数组,减少不必要的采集分配。
-
Go os.Chmod 传入符号链接路径时会跟随链接修改目标文件。本文用 Stat、Lstat 和 Readlink 区分目标权限、链接对象与指向关系,并给出部署脚本的检查顺序。
-
io.LimitedReader 在额度用完和底层输入结束时都可能返回 EOF,单看错误值无法判断是否超限。本文用 limit+1 探测解释如何区分恰好读满、未达到上限和仍有额外数据,并给出保留内容与纯探测两种写法。
-
使用 os/exec 启动子进程时,Cmd.Env 不是局部补丁而是环境集合。本文说明如何先设置 Cmd.Dir,再用 Cmd.Environ 获取当前配置下的完整环境,并安全追加变量,同时解释 Unix 下 PWD 的变化与跨平台边界。
-
Go 的 URL.Path 是解码后的路径语义,EscapedPath() 面向转义表示;本文用 %2F 示例说明路由匹配、日志记录和请求拼接时该怎么选。
-
用 Go httptest.NewRequest 构造 Handler 入站测试请求:绝对 URL 提供 Host,https scheme 提供非 nil 的 dummy TLS 状态,并说明请求体 ContentLength、Host 覆盖以及与真实 TLS 服务端的边界。
-
用 Go httptest.ResponseRecorder 测试 Handler 时,区分 Code、Result 和 WriteHeader 的读取时机,准确断言最终状态码。
-
Go CookieJar 在本地 HTTP 测试中不发送 Secure Cookie,通常是 http scheme 不满足 Secure 属性。本文拆开保存、筛选与客户端注入职责,说明 HTTPS 测试和普通 HTTP 单测的选择边界。
-
Go 的重定向请求想继续使用会话 Cookie,关键不是手工复制 Cookie,而是让同一个 http.Client 挂载 cookiejar.Jar。本文从两跳小项目出发,说明 Set-Cookie 如何进入 Jar、后续请求如何匹配,并梳理 Domain、Path、Secure、CheckRedirect 和客户端复用边界。
-
Go mime.FormatMediaType 可以把媒体类型和参数 map 序列化为规范字符串,自动处理名称小写、参数排序、引号转义和非 ASCII 参数编码。本文给出最小写法,并说明非法输入返回空字符串的边界。
-
Go 的 mime.ParseMediaType 能按 MIME 规则解析 Content-Type 参数。本文说明带引号、分号和转义值如何还原,参数名为何使用小写读取,以及语法错误和业务类型不匹配时怎样处理。
-
Go 基准测试的计时控制实际位于 testing.B。本文用 B.Loop、StopTimer、StartTimer 和 ResetTimer 排除输入准备成本,并说明并行基准的限制。