Go语言技术文章
-
Go 循环中直接 defer file.Close 会把关闭动作推迟到外围函数返回。本文用单文件函数隔离资源生命周期,并说明读取错误、关闭错误和文件描述符复查边界。426 收藏 -
math.Frexp返回归一化分数与二进制指数,math.Ldexp可重组这对参数。本文提供最小Go示例,解释分数区间、负数与倍率调整,并列出零、无穷和NaN的特殊约定,避免与十进制表示或原始位字段混淆。426 收藏 -
KSUID由大端时间戳和随机载荷组成,27字符Base62文本保留了固定二进制值的字典序。本文用Go示例说明文本排序、字节排序与大致生成时间的关系,并解释时钟偏差、同一时间戳和游标截断的边界。426 收藏 -
Go TLS Config.Clone 是浅克隆,修改共享切片、证书池或闭包状态仍可能引发竞态。本文给出 NextProtos 与 RootCAs 的隔离示例,说明使用后只读、回调依赖和配置切换边界。426 收藏 -
os.DirFS 不接收字节缓冲区。本文用完整 Go 文件摘要示例说明如何在打开文件后复用工作区,并解释 CopyBuffer 快速路径、切片长度、串行所有权和目录访问边界。426 收藏 -
path.Match 不会打开或释放资源,它适合把资源名称筛成可疑集合。本文说明怎样设计 name 和 pattern,区分 matched=false 与 path.ErrBadPattern,再把命中结果交回文件、连接或任务的生命周期检查。426 收藏 -
Go encoding/hex.Dumper 返回一个 io.WriteCloser,适合把分块到达的二进制数据写成带偏移、十六进制字节和 ASCII 侧栏的 hexdump-C 风格记录。本文说明 Write、Close、尾行收尾、关闭后调用和底层 Writer 错误的处理边界。426 收藏 -
用 Go 的 http.Server.ConnState 观察连接从建立、活跃、空闲到关闭的状态变化,并结合超时和异常断开日志定位连接问题。425 收藏 -
用一个可运行的 Go HTTP 示例说明 http.Server.ConnContext 适合绑定连接级租户标识的边界,以及如何在请求处理中安全读取、验证和测试它。425 收藏 -
Go 1.24 用 go:wasmexport 把 Go 函数暴露给 WebAssembly 宿主。本文从 WASI reactor 和宿主调用实验入手,核对导出顺序、参数类型和初始化边界。425 收藏 -
Go 校验接口 HMAC 签名时,不要用普通字符串比较。本文用 crypto/hmac 和 hmac.Equal 说明摘要重算、编码边界、请求体一致性与常见排查方法。425 收藏 -
解释 Go ResponseController.Flush 为什么返回不支持,比较 errors.Is 降级、ResponseWriter Unwrap 修复和旧版 Flusher 断言,并给出可执行测试。425 收藏 -
Go 的 x509 Verify 即使已加载根证书,也可能因 PEM 未解析、使用了不同 Roots、缺失中间证书或 CA 约束不成立而返回 unknown authority。本文用加载布尔值、签名关系和返回链数量逐层定位并修复。425 收藏 -
encoding/csv 遇到非标准引号时可以用 LazyQuotes 放宽读取,但应同时固定字段数、记录解析错误并保留抽样检查,避免把脏数据直接变成静默错列。425 收藏 -
Go filepath.WalkDir 遇到权限目录时,不要直接让整个遍历失败。先判断回调 err 和 d,再用 errors.Is 识别 fs.ErrPermission,并按场景选择返回 nil、fs.SkipDir、fs.SkipAll 或原始错误。425 收藏