Go语言技术文章
-
讲清 Python os.PathLike、__fspath__ 与 os.fspath 的职责,演示自定义路径对象如何兼容标准库和旧接口,并说明 str 强转、bytes 返回值与 TypeError 的边界。214 收藏 -
Go 原生 fuzz 测试发现 panic 后,先固定失败语料并用 -run 稳定重放,再定位最小输入边界、修复校验逻辑,最后保留 corpus 作为回归测试资产。414 收藏 -
StampedLock 乐观读的安全回退方式是先读取共享字段,再校验 stamp;校验失败后获取读锁,并在锁内重新读取全部字段,最后在 finally 中释放读锁。本文给出最小模板、限时回退和常见误区。165 收藏 -
Go 1.24 的 testing.T.Context 会在 Cleanup 回调执行前取消。本文用后台 worker 示例说明如何传递测试上下文、等待 goroutine 退出,以及父子测试、超时和清理阶段的生命周期边界。380 收藏 -
PHP Fiber 只负责暂停和恢复协作式任务,不会自动把 PDO 变成异步驱动。本文用任务级资源所有权、closeCursor 和 finally 收口数据库连接、结果集与事务。153 收藏 -
t.TempDir 的清理时机绑定调用它的 testing.T:父测试创建的目录会保留到所有子测试完成,子测试创建的目录只保留到该子测试树结束。本文结合并行子测试说明安全共享、隔离和清理顺序。181 收藏 -
Go 1.27 环境延续了 Go 1.26 引入的 cgo 基线运行时开销约 30% 下降,但这不是 1.27 新增的一轮普遍提速。本文分析高频短调用、批量计算和回调型 FFI 服务的实际影响,并给出测量与架构建议。395 收藏 -
用 maps.EqualFunc 比较不同值类型的 Go map,讲清键类型约束、eq 回调、string 与 []byte 转换、缺键和性能边界。249 收藏 -
多模型服务应统一 role/content 消息结构,而不是硬编码一套控制 token。本文用 tokenizer.apply_chat_template 建立模型契约层,区分普通回复、预填续写与训练格式,并说明特殊 token 和能力边界。154 收藏 -
解释 t.Parallel 与进程级环境变量的冲突边界,给出显式配置传递、独立测试资源和 exec.Cmd.Env 子进程隔离方案。115 收藏 -
Redis Array 用整数索引保存可稀疏分布的字符串,随机访问不受逻辑长度影响。本文通过 ARSET、ARGET、ARLEN、ARCOUNT 与 ARSCAN 说明建模方式、读取边界和兼容性取舍。490 收藏 -
maps.Clone 只复制 map 的第一层键和值。本文用切片、map、指针和结构体示例拆开嵌套引用边界,并给出需要独立状态时的深复制写法与检查清单。306 收藏 -
go test 显示 cached 却没有感知输入文件变化,通常是依赖没有进入测试缓存键。本文说明模块内文件、外部输入和环境变量的处理方法,并给出诊断与 CI 落地方案。174 收藏 -
介绍 MySQL EXPLAIN FORMAT=JSON 中 cost_info 的层级、字段含义和 JSON_EXTRACT 提取方法,说明如何结合访问类型、扫描行数与版本边界判断查询优化方向。325 收藏 -
maps.All 返回绑定原映射的惰性迭代器,并不会在创建时复制数据。本文从修改时点、迭代中变更和并发边界说明真实语义,并给出 maps.Clone 与有序快照写法。445 收藏