Go语言技术文章
-
本文从大文件不应整段复制的场景出发,用 Go io.SectionReader 按绝对偏移和区间长度创建读取窗口,说明 Read、ReadAt、Seek、Size、EOF、文件关闭和 ReadAll 的边界。189 收藏 -
Go archive/tar 默认可能把 ModTime 按秒写入;指定 FormatPAX 后,归档可以保留文件修改时间的亚秒部分。本文给出写入、读取核对和格式边界。188 收藏 -
Go sort.Find 用二分查找返回有序数据中第一个满足比较条件的位置,并通过 found 区分是否精确命中。本文从三态比较函数、重复值、未找到边界和结构体切片几个场景说明怎样写对。187 收藏 -
通过 previous_interaction_id 继续 Gemini 多轮会话,说明游标持久化、每轮配置、并发分支与保留期限,并提供 Python 示例。187 收藏 -
在 Go 的 io/fs 接口前判断路径是否合规,重点说明 ValidPath 对 slash 分隔、未根路径、点段、空元素和根目录 . 的边界,并给出可直接复用的入口函数。187 收藏 -
context.Cause只读取取消原因,不会关闭资源或等待协程退出。文章区分取消信号、阻塞点、资源所有权和结束确认,并用文件导出示例说明如何安排cancel、Close与返回结果。187 收藏 -
maps.EqualFunc 先比较两个 map 的长度,再按键查找并调用自定义值比较函数,所以 nil map 与空 map 都因长度为 0 而返回 true。本文拆解源码规则,给出最小示例,并说明如何在业务上区分 nil 与空。187 收藏 -
说明 Triton dynamic batcher 的优先级等级、客户端 priority 参数和各级 queue policy,并给出分组延迟、拒绝率与吞吐的对照测量方法。187 收藏 -
判断 Go os.File.WriteAt 是否完整,不能只看 err。应同时比较 n 与 len(p),区分完整写入、部分写入和异常,并保留底层错误;本文给出可复用的固定偏移写入判断函数。187 收藏 -
Go image/jpeg 的 Options.Quality 取值范围是 1 到 100,默认值为 75。本文按缩略图、网页上传和归档等用途给出质量参数的选择起点,并说明 Encode 的传参、体积与细节的权衡,以及 PNG、透明图和反复编辑场景的边界。186 收藏 -
Redis SPUBLISH 用于向分片频道发送实时消息。本文说明命令参数、返回值、Redis Cluster 路由边界,并对比 PUBLISH 与 Stream 的适用场景。186 收藏 -
围绕 TypeScript moduleResolution bundler 说明 package.json exports 中 types、import 与 default 的配合方式,给出声明文件、运行时代码和 tsconfig 的原创示例,并整理常见解析边界。186 收藏 -
Go strings.Cut 处理可选字段时,关键是同时保留 before、after 和 found:字段不存在与字段存在但值为空不能混为一谈。本文用首个键值分隔符的解析例子说明返回值、空分隔符、可选字段结构,以及 Cut 与 SplitN、CutPrefix、CutSuffix 的边界。186 收藏 -
maps.Clone 返回新的浅拷贝,不能把已有 map 当作写入目标。若要反复刷新同一容器,应按需求使用 maps.Copy,要求精确替换时先 clear 再 Copy,并注意 slice、指针等 value 仍是浅拷贝。185 收藏 -
RedisTimeSeries 的 TS.ADD 遇到同一时间戳重复采样时,ON_DUPLICATE LAST 会用新值覆盖旧值,SUM 会把新旧值相加。本文从一次重复上报造成的指标异常入手,说明两种策略的语义、单次命令边界和选型方法。185 收藏