-
Go 1.23 及以上可以用 runtime/debug.SetCrashOutput 把未处理 panic 和致命错误额外写入文件。本文说明文件打开、句柄复制、重复配置、关闭输出,以及日志轮换和监控进程的边界。
-
Go HTTP/1 服务端默认可能先消耗未读请求体再写响应,ResponseController.EnableFullDuplex 可让 handler 按需交替读取请求体与写出响应。本文说明调用位置、ErrNotSupported 处理、Flush 的职责,以及 HTTP/2 和代理缓冲的边界。
-
Go 的 net.DNSError.Timeout 只能表示标准库已知的 DNS 超时,不能把所有 false 都当成没有超时。本文用 errors.As 穿过错误包装,区分已知超时、未找到记录和普通失败,并说明上下文截止时间与重试策略的边界。
-
Go simd 编译失败应先区分实验环境与参数类型问题。本文比较普通循环、simd 和 archsimd,说明切片、标量、向量与掩码的调用边界,并给出原创 int32 向量加法示例。
-
解释 goavro NativeFromBinary 返回剩余字节的含义,区分单条 datum、连续记录、传输帧和 OCF 容器,并给出生产排障与边界检查方式。
-
Go 源码分析中,ast.Ident 只有语法名字,不能直接说明它代表变量、函数还是类型。本文用 go/types.Info.ObjectOf 统一查询标识符对象,并解释 Defs、Uses、nil、嵌入字段与 TypeOf 的边界。
-
Go types.Info.TypeOf 用于从类型检查结果中查询 ast.Expr 的静态类型。本文用一个源码分析场景说明 Info 初始化、AST 表达式定位、TypeOf 返回值和 nil 边界,并区分 Types、Defs、Uses 与 Selections 的职责。
-
Go 源码分析中,token.Pos 不是直接可读的文件名和行列。本文用同一个 token.FileSet 说明 FileSet.File、File.Position、File.Offset 与 FileSet.Position 的配合方式,并处理 NoPos 和跨 FileSet 查询边界。
-
Go uuid 导入失败应先区分标准库 uuid 与 github.com/google/uuid,再核对实际工具链、模块目录和版本参数。本文给出两种路径的示例及 CI 配置处理方法。
-
Go jsontext.Decoder.PeekKind 可以查看下一个 JSON token 的类型而不推进读取偏移。本文说明如何根据 Kind 选择 ReadToken、ReadValue 或 SkipValue,并区分 KindInvalid、io.EOF 与对象数组结束标记。
-
Go 1.27 的 jsontext.Decoder.ReadValue 在对象或数组结束标记处返回 SyntacticError,并不会推进读取状态。本文区分结束 Token、真正的 io.EOF 和语法错误,说明如何用 PeekKind 与 ReadToken 安全处理流式 JSON 边界。
-
Go jsontext 的 ReadToken 返回值可能依赖 Decoder 内部缓冲区,后续读取会让原始 token 失去长期有效性。本文说明 Token.Clone 的迁移边界与回归检查方法。
-
Go 1.27 的 encoding/json/jsontext 中,Token.Int、Uint、Float 等数值访问器为什么返回 error?本文按 JSON 数值形态说明语法错误、范围错误、截断和精度边界。
-
Go net/http.Request.CookiesNamed 可以按名称返回请求中的多个同名 Cookie。本文用最小代码说明它与 Cookie、Cookies 的区别、空结果处理和服务端排障边界。
-
Go CEL 求值时,unknown 表示输入尚未确定,运行错误表示当前表达式已经产生错误。本文用 Eval 返回值和 PartialVars 说明两者的处理边界。