Go语言技术文章
-
Go 的 Clean、Join 和 IsLocal 主要做词法路径判断,遇到符号链接时看不见最终目标。本文用最小复现说明原因,并给出先做词法拦截、再用 EvalSymlinks 与 Rel 判断解析后路径的读取方案,同时说明检查与打开之间的竞态边界。255 收藏 -
Golang · Go问答 | 2星期前 | HTTP · TLS · Go问答 · 排错 · Go net/http Transport RoundTripper ALPN TLSNextProto
Go 的 Transport.TLSNextProto 不是普通的 HTTP/2 开关,而是 TLS ALPN 协商后把连接交给协议处理器的低层映射。本文按回调签名、authority、TLS 连接所有权和 HTTP/2 自动启用边界说明怎样注册与判断。255 收藏 -
Go testing.T.Attr 的键不能包含 Unicode 空白,值不能包含回车或换行;违规时会让测试失败并跳过该属性。本文解释约束来源、错误模型,以及如何把自由文本稳定映射为可记录的单行属性。255 收藏 -
Go crypto/mlkem 的密钥对象不能用任意内存序列化代替官方编码。本文说明封装公钥与解封装私钥的 Bytes、New... 构造函数、ML-KEM-768/1024 的长度约束,以及字节往返时的错误处理和保密边界。255 收藏 -
filepath.Glob 匹配不到文件时,问题通常不在通配符本身,而在相对路径基准、目录层级、操作系统分隔符或实际没有匹配项。本文用一个可复用的最小示例区分根目录缺失、ErrBadPattern 和空结果,并说明 Glob 的适用边界。255 收藏 -
讲清 Go ast.Inspect 回调返回 true、false 和收到 nil 时的实际语义,用原创示例实现子树裁剪并安全维护遍历状态。255 收藏 -
Go 解析不带时区字段的时间文本时,time.ParseInLocation 会把输入解释为指定 Location 的当地时间。本文给出最小写法,并区分 Parse、显示转换、固定时区、时区数据缺失和夏令时边界。255 收藏 -
Go sql.DB 的 SetConnMaxLifetime 设置的是连接最多可被复用的时长,过期连接可能在下一次复用前惰性关闭,并不承诺到点立即断开。本文用 DB.Stats 区分连接年龄、空闲时间和并发上限三个边界。254 收藏 -
Go 1.27 及以上模块中,go mod tidy 可以把重复的 require 块整理为直接与间接依赖块。本文说明版本条件、注释归属、go.mod 与 go.sum 差异以及 CI 复核边界。254 收藏 -
Go copy 允许源和目标切片重叠,但不会扩展目标长度或执行深拷贝。通过队列右移、原地删除和容量对照示例,解释复制数量、清尾、长度归属及共享数据边界。254 收藏 -
介绍Go archive/tar写入目录、文件模式和大小的方法,提供空目录与脚本示例,说明FileInfoHeader权限转换、关闭错误和失败回退。254 收藏 -
解释 Go io.SectionReader.Outer 返回直接父窗口的语义,并用逐层累加偏移、截断父窗口剩余长度的方法还原嵌套读取区间。254 收藏 -
Go container/heap 中已有元素修改优先级后,应先更新对象字段,再用对象当前 index 调用 heap.Fix;本文解释 Swap 的索引维护、Fix 与 Remove/Push/Init 的边界,以及如何固定这些一致性风险。254 收藏 -
Golang · Go问答 | 6天前 | 标准库 · Go问答 · Go io.Reader image.Decode image/png DecodeConfig image/jpeg image/gif
Go image.Decode 不生效时,先区分 image.ErrFormat、EOF 和 reader 已被消耗三类原因。本文说明 PNG、JPEG、GIF 解码器的空白导入注册方式,演示 DecodeConfig 预检、重新创建 reader、限制图片尺寸以及通过 format 和 Bounds 确认结果。254 收藏 -
用12字节固定头示例设计Go二进制解析接口,明确大端偏移、完整读取、长度上限、错误保留和版本兼容边界。254 收藏