Go教程技术文章
-
go fix 会直接改写 Go 源码。本文从模块边界、包模式、构建配置、差异预览和 Git 检查点入手,整理一套可回滚的执行准备清单。421 收藏 -
通过 go mod why 的包级、模块级和 -vendor 查询,理解依赖路径范围,避免把解释命令误当成清理或版本选择命令。420 收藏 -
slices.DeleteFunc 会原地压缩切片,并清零新长度之后的尾部元素,从而断开被删除元素对对象的引用。本文用指针切片示例说明它的边界。419 收藏 -
Golang · Go教程 | 3星期前 | 标准库 · regexp · 字符串处理 · Go教程 · 命名捕获组 正则替换 Go regexp ExpandString regexp.Expand FindSubmatchIndex
用 Go regexp 的 Expand 和 FindSubmatchIndex 把匹配文本转换成结构化输出,覆盖命名与数字引用、字面美元符号、批量追加和未匹配分组边界。419 收藏 -
Go 1.27 支持方法声明自有类型参数。本文用 Box[T] 和 Map[U] 完成容器链式转换,并说明类型推断、接口与旧版本兼容边界。419 收藏 -
encoding/json/v2 可用字段标签收窄调用级默认行为。本文通过小项目演示 string、omitempty、omitzero 与 case 选项的优先级、适用方向和测试方法。418 收藏 -
讲清 Go crypto/ecdh.NewPrivateKey 导入现有私钥的正确入口,区分原始标量、PEM 与 PKCS#8,并给出曲线长度、转换和存储边界。417 收藏 -
通过 Batch[T] 的 Filter、Clone 和 Map[U] 示例,说明泛型方法怎样直接复用接收者已有的 T、自动继承原约束,并判断何时才需要声明新的方法类型参数 U。417 收藏 -
把已有的 Go 推送式回调封装为 iter.Seq[T],让调用方用 range 消费,并正确处理提前停止、资源清理和单次迭代边界。417 收藏 -
Golang · Go教程 | 3小时前 | 加密 · Go教程 · crypto/hpke Go HPKE associated data aad Sender.Seal Recipient.Open
Go 的 crypto/hpke 用 aad 把租户、版本和消息序号等公开字段绑定到密文认证范围。本文区分 info 与 aad,给出 Sender.Seal/Recipient.Open 的实现方式,并说明上下文计数器、消息顺序和重放处理的边界。417 收藏 -
Go 1.24 起 text/template 可直接 range iter.Seq2。本文用 slices.All 演示两个模板变量的绑定方式,并说明空序列、单变量语义、顺序和兼容处理。416 收藏 -
Go net/url 处理重复查询参数时,应从 url.Values 的 []string 读取并用 Add 追加;本文说明 Get、Set、Encode 与 RawQuery 的顺序边界。415 收藏 -
用一个可复用的 slog Handler 包装层统一过滤 password、token、email 等敏感字段,同时覆盖 WithAttrs、WithGroup 和嵌套 Group,业务日志调用保持不变。415 收藏 -
Go 1.22 引入的 sql.Null[T] 可以把 NULL 与自定义标量类型放在同一个扫描目标中。本文用 OrderState 和订单编码示例说明类型定义、Scan 调用、Valid 判断,以及 driver.Value 和旧版本兼容边界。415 收藏 -
go test -race 不负责提供共享变量读取接口,而是报告并发读写之间缺少同步的路径。本文用最小示例说明如何定位 Read/Write 栈,并选择互斥锁或原子读取修复。414 收藏