Go语言技术文章
-
OpenInRoot 的 dir 可采用可信绝对目录,name 应使用根内相对名称。本文说明从 os.Open 迁移时的参数变化,给出带关闭和大小限制的读取示例,并区分词法检查、符号链接与权限边界。333 收藏 -
Go 1.27 的 go fix 新增 slicesbackward,可以把满足固定形状的倒序切片循环迁移为 slices.Backward。本文从输入边界、索引依赖、版本条件和预览方式说明何时适合使用。333 收藏 -
Go Protocompile 的 Compiler.Compile 接收 context.Context。本文用多文件 proto 示例说明怎样把请求取消或超时传入编译流程,用 errors.Is 区分 context.Canceled、context.DeadlineExceeded 与普通编译错误,并处理未完成结果。333 收藏 -
Go 的 sync/atomic.OrUint32 适合把多个独立状态压进一个 uint32 状态字,并原子设置指定 bit。本文从位掩码、返回旧值、并发写入和 atomic.Uint32.Or 四个角度说明它的正确用法与边界。333 收藏 -
Bubble Tea 会把终端初始尺寸和后续变化送进 Update。本文用 WindowSizeMsg 保存宽高,再让 View 根据模型尺寸重算布局,并说明过窄窗口与 Windows 平台边界。332 收藏 -
Go 正则表达式能够编译成功,不代表 \d、\w 或 ASCII 字符类会匹配中文等 Unicode 文本。本文用固定样本拆开字符类语义、原始字符串写法、rune 边界和复查口径,给出可维护的 Unicode 匹配方案。332 收藏 -
使用 go/scanner 扫描 Go 源码时,Scanner.End 会返回当前已扫描 token 紧随其后的 token.Pos。本文说明怎样把它转换成行列和字节偏移,并处理首次调用、EOF、注释和文件长度边界。332 收藏 -
Go CEL 求值时,unknown 表示输入尚未确定,运行错误表示当前表达式已经产生错误。本文用 Eval 返回值和 PartialVars 说明两者的处理边界。332 收藏 -
ServeMux 尾斜杠跳转的方法变化要结合实际状态码和客户端规则。用首跳诊断示例区分历史301与当前307,说明路径注册、正文重放和405排查。332 收藏 -
本文用 golang.org/x/text/number 的 Scientific 说明科学计数法显示方式,并介绍 Precision、Scale、语言标签与 Engineering 的边界。332 收藏 -
解释 Go x/text/encoding/unicode/utf32 中 ExpectBOM 与 IgnoreBOM 的解码、编码差异,给出缺失 BOM、字节序和 U+FEFF 输出的处理方法。332 收藏 -
围绕 Go sql.DB.SetConnMaxLifetime 说明连接年龄、空闲时长与连接数量的区别,给出连接轮换配置、DBStats 观察方法和生产边界。332 收藏 -
Go http.Request.GetBody 不是当前请求体的别名,而是为客户端重定向或手动重试重新生成请求体的工厂。本文说明 NewRequest 何时自动填充它,以及自定义 io.Reader 如何保留可重放能力。332 收藏 -
go test -shuffle 暴露资源残留时,如何识别共享夹具的顺序依赖,用测试作用域管理文件与后台任务,并保存种子复查清理结果。332 收藏 -
Go archive/zip.Reader 逐项读取时,结果为空通常不是 range 失效,而是 Reader 构造、文件大小、目录条目或 File.Open 错误没有被分别记录。本文给出本地 ZIP 与 ReaderAt 两种读取方式,并用可量化的条目指标定位不完整结果。332 收藏