Go语言技术文章
-
Go 1.24 的 testing.T.Context 会在 Cleanup 回调执行前取消。本文用后台 worker 示例说明如何传递测试上下文、等待 goroutine 退出,以及父子测试、超时和清理阶段的生命周期边界。380 收藏 -
90fps画质对应 90FPS画质助手产品站,本文整理公开入口、高帧率定位、设备差异、兼容范围和合法使用边界。380 收藏 -
用 Go 的 utf8.DecodeRune 扫描可能含坏字节的 []byte 时,非法输入会返回 RuneError 和 size=1。本文用一个小型扫描器说明如何按 size 推进游标,避免重复读取同一字节造成循环不前,并覆盖空输入与混合输入边界。380 收藏 -
GJSON 的 Exists 判断字段是否存在,空字符串判断的是字符串内容;缺失、null、空串和非空串并不是同一种状态。本文用一段最小 Go 示例说明四种状态的差异,并给出输入校验与审计时的选择方式。380 收藏 -
Redis TTL 不按预期过期,通常不是 Redis 忽略了时间,而是过期没有成功写入、后续 SET 覆盖清除了 TTL,或把主动清理误解成精确计时。本文用 TTL、PTTL 和最小命令集逐层定位。380 收藏 -
Go bytes.FieldsSeq 在 Go 1.24 起返回 iter.Seq[[]byte],按 unicode.IsSpace 规则遍历字段,不先创建承载全部结果的二维切片;本文从旧接口迁移、空白边界、切片生命周期和提前停止四个方面给出可直接使用的写法。380 收藏 -
systemd-cgtop 按 cgroup 实时观察服务的 CPU、内存、任务数和磁盘 I/O。本文说明按资源排序、缩小层级、解释 accounting 空白与多核 CPU 百分比,并用 batch 模式导出有限次采样。380 收藏 -
用可选 Sender 示例解释 Go 接口为何会携带 nil 指针,区分接口比较、类型断言和对象可用性,并通过构造函数明确缺席时的 nil 返回约定。380 收藏 -
CNCF 2026 年 AI 项目首轮观察显示,个人使用 AI 的速度已经超过正式项目规则的形成速度。本文结合调查中的披露、安全和审查信号,以及 CNCF 对 72 个项目治理结构的复盘,拆解缺口并给出可落地的项目治理接口。380 收藏 -
Go linkname 会改变对象文件符号绑定并绕过普通包封装。本文区分公开 API、握手式 linkname 和单方面拉取内部符号的风险,结合 Go 1.23 之后的链接器限制说明如何评估兼容性与维护成本。380 收藏 -
Python 3.12 的 type 语句会创建 TypeAliasType。本文从普通赋值的歧义出发,说明如何声明类型别名、读取运行时元数据,并区分别名与 NewType 的边界。380 收藏 -
用沙金石面、细密风化纹和浅景深制作低干扰手机壁纸,提供暖沙金主图与蓝灰金变体的中英文提示词、锁屏安全区和下载调整方法。380 收藏 -
Redis 键过期后,used_memory、used_memory_rss 和 allocator 内存不一定同时下降。本文从 TTL、过期清理、分配器碎片和 RSS 四个层次判断现象,再给出低风险的处理顺序。380 收藏 -
讲清前端用 ReadableStream 分块读取 Fetch 响应时的 reader、TextDecoder、done、异常、取消与锁定边界,给出可直接改造的 JavaScript 示例。380 收藏 -
Go 标准库 uuid.NewV4 可以生成版本 4 UUID,再按下游类型选择 String、MarshalText 或 AppendText 转成文本。本文用一个最小请求 ID 项目说明三种出口、错误边界和接入检查点。380 收藏