Go语言技术文章
-
Go flag.BoolFunc 每次遇到开关都会回调。通过 ParseBool 与局部累计对象保留重复布尔值,区分出现次数、真值次数和最后状态,并说明显式 false、解析错误与状态重用的边界。340 收藏 -
Go unique.Handle 适合把可比较值规范化后用于快速比较。本文从字符串键的空输入和解析错误出发,说明 unique.Make、Handle 比较、Value 取回与生命周期边界,避免把错误值混进句柄逻辑。340 收藏 -
用 Go os.Root 和 Root.Open 把外部文件名限制在可信目录树内,说明 OpenFile、Root.FS、资源关闭与挂载边界。339 收藏 -
Go net.ParseIP 会把 IPv4 以 IPv4-mapped IPv6 形式返回。本文说明为什么不能直接按切片长度比较,以及如何用 IP.Equal 做语义判断、用 To4 生成统一的 IPv4 表示,并区分真正 IPv6。339 收藏 -
用 Go strings.Cut 拆分可选配置键值时,关键是同时读取 before、after 和 found:只按第一个等号切开,缺少分隔符时明确返回错误,值中的后续等号保持不变。本文封装一个可复用的小函数,并覆盖空键、空值和多余等号。339 收藏 -
ECDSA 公钥不能直接当作 ecdh.PublicKey 的原始字节使用。本文用 Go 标准库说明 PKIX 公钥解析、ecdsa.PublicKey.ECDH 转换、共享密钥验证,以及 invalid public key 的常见边界。338 收藏 -
Go json.Decoder 没有 Close 方法。本文按底层 Reader 关闭责任、内部缓冲与业务结果引用拆解资源未释放问题,给出文件读取示例,并说明大 JSON 解码和流式读取的处理边界。338 收藏 -
Go bytes.Buffer 复用时要先 Reset,清空当前未读内容并保留底层存储。本文用一个批量摘要小示例说明旧内容残留、Len 与 Cap、Bytes 切片生命周期和并发边界。338 收藏 -
Go encoding/xml 默认按严格 XML 解析。本文用 xml.Decoder 的 Strict、AutoClose、HTMLAutoClose 和 HTMLEntity 处理缺少结束标签的 HTML 风格片段,并说明适用边界。337 收藏 -
Go crypto/ecdh 的 ECDH 曲线不匹配,通常是本地私钥与远端公钥使用了不同 Curve。本文区分 NewPublicKey 解析错误和 ECDH 曲线错误,给出统一曲线、接收公钥和生产排查清单。336 收藏 -
本文用 Go debug/elf 读取 ELF 节区的 SectionHeader.Flags,通过 SHF_EXECINSTR 判断节区是否包含指令,并区分缺失节区、非 ELF 输入和其它标志组合。336 收藏 -
说明 Go comment.Heading.DefaultID 的锚点转换规则,解释中文和重复标题的碰撞,并用页面级映射统一目录链接与正文标题ID。335 收藏 -
Go iter.Pull 把推送式迭代器转换为 next 与 stop 接口,便于按需处理并避免整批中间切片。示例说明提前退出、清理归属与分配收益的适用条件。334 收藏 -
go test -shuffle 暴露资源残留时,如何识别共享夹具的顺序依赖,用测试作用域管理文件与后台任务,并保存种子复查清理结果。332 收藏 -
Go archive/zip.Reader 逐项读取时,结果为空通常不是 range 失效,而是 Reader 构造、文件大小、目录条目或 File.Open 错误没有被分别记录。本文给出本地 ZIP 与 ReaderAt 两种读取方式,并用可量化的条目指标定位不完整结果。332 收藏