Go教程技术文章
-
通过 CR、LF 和 CRLF 三组输入,说明 Go mime/quotedprintable.Writer 的 Binary 模式如何保留换行字节,以及它不会改变哪些编码规则。421 收藏 -
Go Badger 可以通过 Entry.WithTTL 设置键值的有效时长,再用 Txn.SetEntry 写入。本文说明 TTL 的写法、Get 读取边界,以及过期不可读和磁盘垃圾回收之间的区别。420 收藏 -
从定义方是否知情、目标是否属于标准库内部、是否依赖未导出契约三项信号判断 Go linkname 的迁移优先级,并给出 handshake、构建、符号和行为回归方案。420 收藏 -
ssa.NewProgram 用 FileSet 和 BuilderMode 创建空的 SSA 程序容器。本文说明初始化写法、包注册与函数体构建的区别,并比较手动入口和 ssautil 辅助函数的适用条件。420 收藏 -
用 slog.Handler 的 ReplaceAttr 把日志脱敏集中到处理器出口,覆盖顶层字段、分组字段、删除属性和测试验证边界。419 收藏 -
Go netip.Prefix Overlaps 用来判断两个 CIDR 网段是否存在共同 IP。本文从 ParsePrefix 和 Masked 开始,说明 IPv4、IPv6、零值前缀、非法输入与 Contains 的区别,并给出可复用的 Go 封装。419 收藏 -
以资源清单页说明embed.FS如何作为ParseFS模板来源,区分嵌入路径、解析范围与define模板名,并处理片段未定义、工作目录和重新构建问题。419 收藏 -
用 CEL-Go 的 EstimateCost 做静态成本估算,再用 CostTracking 与 CostLimit 限制运行期求值预算;同时区分超限、业务错误和扩展函数成本。419 收藏 -
Go 定时轮询要立即执行一次,不能等待 time.NewTicker 的第一拍。把任务抽成函数先直接调用,再用 ticker.C 驱动后续周期,并用 context 控制退出。419 收藏 -
io/fs.ValidPath 只接收 string,不能直接复用调用方的 []byte。动态路径应复用 []byte scratch,完成一次受控的 string 转换后再校验,并注意临时字符串的生命周期、容量和并发隔离。419 收藏 -
从 Read、ReadAt、Size 和 io.EOF 的组合判断 Go io.SectionReader 是否读完整区间,覆盖顺序读取、固定偏移读取和四种边界情况。419 收藏 -
围绕 Go io.WriterTo 与 io.Copy 的源端复制路径,说明如何实现 WriteTo、如何处理短写和错误,以及包装类型和 ReaderFrom 会怎样改变快路径选择。418 收藏 -
Go encoding/binary.Append 能把固定大小的数据按指定字节序追加到已有 []byte,并返回新的切片与错误。本文说明返回值、容量复用、ByteOrder 以及 AppendUvarint 的选择边界。418 收藏 -
Go path.Match 面向正斜杠分隔的路径名,* 和 ? 不会跨过斜杠。本文用代码说明分段匹配、字符类、转义、完整匹配与 ErrBadPattern 的区别,并说明什么时候应改用 filepath.Match。418 收藏 -
Golang · Go教程 | 4星期前 | 加密 · Go教程 · crypto/hpke Go HPKE associated data aad Sender.Seal Recipient.Open
Go 的 crypto/hpke 用 aad 把租户、版本和消息序号等公开字段绑定到密文认证范围。本文区分 info 与 aad,给出 Sender.Seal/Recipient.Open 的实现方式,并说明上下文计数器、消息顺序和重放处理的边界。417 收藏