Go语言技术文章
-
用 Go os.DirFS 暴露静态资源或模板目录时,关键不是把绝对路径换成相对路径,而是确认 io/fs 的 ValidPath 约束、根目录语义和测试边界。本文用一个最小文件服务示例拆开这些判断。148 收藏 -
reflect.Value.Comparable 用来先判断值是否具备 Go == 比较条件。本文从接口值和 slice、map 等不可比较类型出发,说明安全比较的写法、panic 边界与迁移检查点。148 收藏 -
解释 Go bytes.Buffer 的 UnreadByte 何时成功、何时返回错误,并用读取游标、最后一次读取和 Reset 场景给出可复现的核对方法。148 收藏 -
go/ast.Preorder 返回一个按深度优先顺序遍历语法树的迭代器。本文从源码扫描器的高压场景出发,拆解节点顺序、break 提前停止和解析错误的边界,并给出可复查的实现方式。148 收藏 -
PDOStatement::fetchColumn() 读取单列很方便,但 0、NULL、false 和无结果分别代表什么,不能靠 if 判断猜。本文用 PHP PDO 查询场景拆开返回值边界,并给出行存在性、空值和布尔字段的验收写法。147 收藏 -
文章 · python教程 | 5天前 | 数据校验 · Python教程 · dataclasses · 类型标注 · Python 数据类 dataclasses InitVar __post_init__
dataclasses.InitVar 是只参与初始化、不保存为实例字段的伪字段。本文用配置参数注入和输入校验示例,说明它如何进入 __post_init__、为何不出现在 fields() 与 asdict() 中,以及序列化时应如何设计。147 收藏 -
Go regexp 的 FindAllString 适合一次拿到全部匹配,但重复匹配、空匹配和 n 参数经常让结果数量出乎意料。本文用可运行示例拆解扫描游标与边界,并给出限制匹配次数的可靠写法。147 收藏 -
Gemini Interactions API 将输出格式统一到 response_format,本文结合 Google 官方文档拆解 text、audio、image 配置迁移,以及 JSON Schema 格式正确但业务值仍需校验的边界。147 收藏 -
用 Go 标准库 netip.Prefix 判断 IP 是否属于网段,拆开 ParsePrefix、Masked、Contains 和 IPv4/IPv6 边界,给出可直接运行的校验代码。146 收藏 -
Go 1.24 新增的 crypto/rand.Text 适合生成密钥、令牌等随机文本。本文从 rand.Text 的内部调用链出发,说明 RFC 4648 Base32 字符集、固定长度、128 位随机性与错误处理边界。146 收藏 -
RAG 应用把检索结果直接拼进提示词,常会遇到重复段落挤占上下文、引用指向不稳定和答案被相似文档带偏的问题。本文用一条可回放的数据流说明候选文档如何去重、截断并组成引用上下文。146 收藏 -
slices.Replace 会在原切片的底层数组上替换 s[i:j],但替换项数量变化时结果长度、容量和尾部清零规则都会变化。本文用一个可运行的小实验拆开它的索引边界、共享数组和收缩后的内存安全行为。146 收藏 -
Go 的 netip.ParseAddr 能解析普通 IPv6,但带有 %eth0 这类区域标识的地址还要看输入格式与后续用途。本文用最小代码说明 zone 的保留边界、Addr 与 AddrPort 的区别,以及监听和日志场景如何避免误判。146 收藏 -
Go map 直接读取时,缺失键和真实的零值会得到同一个结果。本文用 ok 语法、comma-ok 判断和 nil map 示例,说明如何区分存在性、避免误判,并把判断边界写进函数接口。145 收藏 -
artworkout当前可核验的官方入口是 ArtWorkout 官网,产品定位是面向初学者和持续练习者的互动绘画训练应用。本文说明分步课程、即时反馈、多人练习、下载方式和免费使用边界。145 收藏