Go教程技术文章
-
Go 1.27 的 database/sql.ConvertAssign 主要面向数据库驱动实现。本文说明如何在 RowsColumnScanner.ScanColumn 中复用 Scan 的类型转换规则,正确传递 ScanContext,并处理 NULL、溢出、Scanner、EOF 和资源关闭边界。109 收藏 -
用 slog.NewLogLogger 把旧 log.Logger 调用桥接到 slog.Handler,说明固定级别、Handler.Enabled 过滤、文本输出和结构化字段的边界。109 收藏 -
用 strings.CutPrefix 安全移除 Go 字符串的可选前缀,区分未命中、空结果和空前缀,并给出兼容旧版本的 HasPrefix 加切片写法。108 收藏 -
Go 1.27 为 go doc 增加 package@version 查询形式,可以在不修改当前 go.mod 的情况下读取指定模块版本的包文档。本文说明如何定位到具体符号、选择展示选项,并拆分工具链、路径和代理导致的失败。108 收藏 -
Go fix embedlit 可简化嵌入字段初始化,本文说明语言版本、字段路径和已有嵌入值的输入边界,用源码计数区分可读性收益与性能结论。108 收藏 -
说明如何填写 Gonum optimize.Problem.Grad 并配置 BFGS,对比解析梯度、数值差分与无梯度方法,解释隐藏函数求值、停止状态和性能判断。108 收藏 -
用 Go unique.Handle 把规范化后的 HTTP 方法与路径组合成可比较身份,演示并发路由注册中的去重方式与适用边界。107 收藏 -
Go 1.23 起可以用 sync.Map.Clear 一次删除并发临时索引的全部条目。本文说明它与 Delete、普通 map clear 的适用边界,以及并发重建和版本兼容注意点。107 收藏 -
本文围绕运行时正则配置的常见故障,说明怎样使用 regexp.Compile 返回可诊断错误,在配置加载阶段保留规则名称和原始语法错误,并区分编译失败与文本匹配不到。107 收藏 -
Go unique.Make 可将重复字符串映射为可比较句柄,并通过 Value 恢复文本。本文用标签计数示例说明空输入、业务索引、并发与生命周期边界。107 收藏 -
Go Expr 注册自定义函数时,可以用 expr.Function 提供实现回调,再用函数类型声明参数与返回值,让表达式的类型错误在 Compile 阶段暴露。本文给出可复用的规则示例,并区分编译错误、运行错误与正常业务 false。106 收藏 -
go-toml/v2 可以把 TOML 的 [[servers]] 表数组直接解码到 Go 的 []Server。本文从结构体标签、Unmarshal、流式 Decoder、严格未知字段和 DecodeError 几个边界,整理一套可直接复用的写法。106 收藏 -
本文用 Go 标准库说明 Server.ConnContext 与 Request.Context 的关系,给出连接级信息注入、处理器读取、连接复用和请求取消的最小写法与边界。106 收藏 -
Go 1.23 的 iter.Seq 可以直接用于 range 函数。本文从 yield 的返回值出发,说明 break 怎样提前停止消费、迭代器怎样响应 false,以及自然结束、单次迭代和错误边界。106 收藏 -
Go os.Root.ReadFile 适合在已打开的根目录边界内读取配置、模板和小型元数据。本文说明相对路径语义、ErrNotExist 与越界错误的区分、Root 生命周期,以及何时改用 Root.Open 进行流式读取。106 收藏