-
go/types 检查返回错误后,types.Info 里已经收集的定义、引用和表达式类型并不会自动全部失效,但它们只代表局部结果。本文说明如何结合 Package.Complete、map 查找和 nil 判断安全使用这些信息。
-
Go 自建 types.Package 时,NewPackage 得到的对象默认还不完整。本文按包作用域、导入列表和完成门禁拆开说明 MarkComplete 与 Complete 的职责,避免过早标记导致后续分析拿到不完整包信息。
-
时间格式化只展示部分墙上时钟信息,time.Time.Equal 比较的是时间瞬间;两个值都带单调时钟读数时,还可能按单调读数比较。本文解释相同文本却返回 false 的原因,以及 Round(0)、UTC、Parse 和 Equal 的正确边界。
-
Go json.Encoder 默认会把 JSON 字符串中的 HTML 相关字符转成 Unicode 转义,SetEscapeHTML(false) 可在非 HTML 场景恢复可读输出。本文对比两种文本表示,解释安全边界、Encoder 与 Marshal 的区别以及 Encode 末尾换行。
-
以文件摘要场景比较os.ReadFile和os.Open,解释全文切片、流式读取、固定缓冲、部分读取错误与资源关闭,避免换用Open后仍保留全部数据。
-
用一个小型 docpeek 工具说明如何把本地目录包装成 fs.FS,组合 fs.ReadDir 与 fs.ReadFile,并处理 fs.ValidPath、相对路径和符号链接边界。
-
从 GOMOD、go env、GOPROXY、GOPRIVATE 和 tidy 输入边界入手,排查 Go go mod tidy 配置没有生效的常见原因。
-
Go multipart.Part.FormName 只返回 form-data 分段的 name,attachment 含有同名参数也会返回空字符串。本文用原创示例说明通用参数解析、错误处理与接收策略,避免将附件元数据误当表单字段。
-
围绕 Go net/url 的 Userinfo 展开,说明如何用 User 与 UserPassword 构造包含 @、冒号、斜杠、空格和中文的用户信息,并用 String 生成完整 URL、Parse 后取回字段,同时区分路径和查询参数的转义边界。
-
Go 嵌入字段的方法提升遵循浅层优先规则,同一深度出现同名方法时短选择器会产生歧义。本文用结构体示例说明显式字段路径、外层统一入口与接口方法集检查方法。
-
Go 的 http.Request.GetBody 是重新取得请求体的可选工厂。本文说明 NewRequest 的自动设置边界、手动补齐方式,以及再次调用 Client.Do 前怎样替换 Body。
-
Go 1.27 为多个底层工具加入 @file response file 解析。本文用 go tool compile 的最小示例说明参数文件的支持范围、空白与引号规则、版本边界,以及为什么它不是 go build 的通用参数替代品。
-
Go net/http 的 Response.Uncompressed 为 true 时,表示 Transport 已把服务器返回的压缩响应透明解压。本文说明触发条件、字段变化、最小判断代码,以及如何用 DisableCompression 保留原始压缩响应。
-
Go json.Decoder.InputOffset 返回的是最近成功返回 token 之后的输入字节偏移。本文用连续 JSON 流示例说明它与 SyntaxError.Offset、Buffered 的区别,并演示如何把字节位置转换为行列诊断信息。
-
Go encoding/base64.AppendEncode 会把 Base64 结果追加到已有字节切片并返回扩展后的切片。本文说明 dst 前缀、EncodedLen 容量预留,以及 StdEncoding、RawStdEncoding 和 URLEncoding 的选择边界。