Go语言技术文章
-
os.File.ReadFrom 不只是把 io.Reader 读进文件:它会先检查文件状态,再按平台选择专用路径或通用读取循环。本文用 io.Copy、文件偏移和短写场景说明如何判断结果。137 收藏 -
Go 1.22 引入的 slices.Concat 能按顺序合并多个切片。本文从空输入、容量增长和底层数组别名三个边界出发,给出可验证的使用方式和选择建议。165 收藏 -
Go 自动化任务常常不是启动后一直跑到底:触发端取消、排队中的任务和已经开始的 worker 都要收到同一个 context 信号。本文用一个小型任务流水线说明 Done、Err、cancel 与 Wait 的职责边界。442 收藏 -
用 MySQL 8.4 的 JSON_VALUE 读取 JSON 字段时,NULL 可能来自缺失路径、JSON null 或类型转换失败。本文通过 RETURNING、ON EMPTY、ON ERROR 和 SHOW WARNINGS 拆开这些边界,避免坏数据被静默放行。140 收藏 -
Golang · Go问答 | 6天前 | JSON · go · 数据校验 · 错误排查 · 接口参数 · JSON Go encoding/json 嵌套对象 DisallowUnknownFields Decoder 字段校验
DisallowUnknownFields 只会在目标是结构体时拒绝未知键,嵌套结构体仍会继续校验,但 map、interface 和自定义 UnmarshalJSON 会改变边界。通过一个可运行的配置解码例子,可以看清错误出现的位置以及如何补上严格校验。268 收藏 -
用 Go archive/tar Reader.Next 读取带 PAX 稀疏扩展的归档,核对 Header.Size、空洞补零、PAXRecords 与遍历边界,并给出可复现的验收方法。299 收藏 -
用一个批量消费键值序列的场景,拆开 Go iter.Pull2 的 next、stop 与提前退出边界,说明如何把 Seq2 接入旧式 for 循环并避免遗漏清理。222 收藏 -
围绕一座雨后玻璃温室,拆解适合手机锁屏的主体位置、冷绿主色、暖光变体和顶部留白,并给出可直接复用的中英文提示词与改词方法。476 收藏 -
用 fanotify 监控目录时,读到的通常是事件元数据而不是文件正文。本文从 fanotify_init、fanotify_mark、事件掩码和 read 的关系入手,解释为什么 FAN_EVENT_ON_CHILD 只能告诉你子项发生变化,以及何时应使用 FAN_OPEN_PERM 或 FAN_CLOSE_WRITE 再自行打开文件核对内容。155 收藏 -
围绕 Go net/http Cookie.Partitioned 说明 CHIPS 的设置方式、Secure 与 SameSite=None 的组合要求,以及浏览器兼容和降级核验边界。227 收藏 -
从一个一次性迭代器出发,拆开 slices.SortedFunc 的收集、比较与返回边界,说明如何处理结构体排序、空序列和比较器契约。317 收藏 -
餐饮门店采购食材,不能只在报价单上写一个单价。更稳妥的做法是把规格、验收项目、异常处理、退换货时限和凭证留存写进采购合同,并让每批货的验收记录与送货单对应起来。本文用餐饮门店食材采购验收退换货边界这个具体场景,拆解签约和收货时应该怎么约定。296 收藏 -
用 log/slog 的 HandlerOptions.AddSource 控制 source 字段,理解调用位置信息从哪里来、何时值得开启,以及如何在生产日志中验证它的代价。487 收藏 -
用 Go 的 slices.BinarySearchFunc 在结构体切片中按自定义字段查找,重点说明返回下标与 found 的含义、排序契约以及比较器写错时的排查方法。429 收藏 -
文章 · 前端 | 6天前 | javascript · 前端开发 · 浏览器 API · ReadableStream 背压 Web Streams TransformStream WritableStream
用一个可运行的 Web Streams 示例拆开 TransformStream 背压:看清 ReadableStream、writableStrategy 和 WritableStream 之间的队列边界,并处理 flush 与 abort。428 收藏