Go语言技术文章
-
用 HTML inert 配合 dialog 和 HTMLElement.inert 锁住模态框背后的页面,解释焦点、点击与无障碍树的真实变化,并给出可验收的回退写法。398 收藏 -
说明 Gemini API 隐式缓存的启用范围、最低输入 token 门槛、公共前缀组织方式,以及如何用 usage.total_cached_tokens 核对命中。398 收藏 -
WaitGroup 本身没有超时参数。本文用完成通知实现可超时等待,再区分 Context 取消与直接放弃等待,避免把调用方超时误判成任务已停止。398 收藏 -
科技周边 · 业界新闻 | 1个月前 | github · 开发者工具 · GitHub Star API Star history REST API stargazers history 仓库 Star 统计
GitHub 新增 Star history REST API 后,开发者可以按周读取仓库 Star 总增量、按日读取七天分布,并通过分页回溯历史;接口不返回个人 stargazer 身份。本文用请求示例说明字段含义、分页顺序、时区边界以及旧列表脚本的迁移方式。398 收藏 -
用 testing.M 的 TestMain 管理测试包级初始化和统一清理,再用 t.Cleanup 隔离单个测试资源,避免测试结果被清理逻辑覆盖。398 收藏 -
农产品追溯码关注来源、批次和流向,商品条码先解决商品身份、收银和库存识别。两者可以关联,但不能只凭码形状判断已经完成追溯。398 收藏 -
IndexedDB 事务会随事件循环在没有新请求时自动提交。本文用读后写、网络等待、版本升级和同源边界说明为什么不能跨 await 继续使用原事务,以及如何改成稳定的请求回调结构。398 收藏 -
Go 中 context.Err 只能说明上下文因取消还是 deadline 结束,不能代替下游函数自己的 error。本文用 WithCancelCause、Cause 和错误映射示例,拆开判断上游取消、超时与下游失败。398 收藏 -
模型输出 JSON 偶尔带有 Markdown 围栏时,先判断拒答和截断状态,再只清理首尾围栏,最后用 encoding/json 解码并执行字段级业务校验。398 收藏 -
Go 基准测试中,输入构造、缓存预热和被测循环不应混在同一段计时里。本文用 testing.B、ResetTimer、StopTimer/StartTimer 与 B.Loop 说明如何划清初始化时间和基准循环时间。398 收藏 -
Linux inotify 出现 IN_Q_OVERFLOW 时,不能继续相信增量事件。本文说明如何检查队列参数、暂停消费、全量重扫目录并重建 watches,避免索引和缓存悄悄失真。398 收藏 -
用 Go slog.LogValuer 为包含 token 和邮箱的业务对象定义安全日志表示,只输出 request_id、账号后缀和状态摘要;同时说明 LogValuer、Value.Resolve 与 ReplaceAttr 的职责边界。398 收藏 -
strings.Builder 的 Grow 只预留后续字节容量,String 后继续写入通常不是禁用操作;真正需要警惕的是复制非零 Builder、误把容量当长度,以及负数参数触发 panic。398 收藏 -
Go 遇到 import cycle not allowed 时,关键不是搬文件,而是拆开包依赖环。本文用 checkout、payment 和 PaymentGateway 示例说明接口归属、隐式实现、组合根注入及 go list 排查方法。398 收藏 -
Go 测试里用 testing.TB.Setenv 设置临时环境变量,再用 t.Cleanup 管理关联状态,可以让测试结束后自动恢复。本文说明清理顺序、并行边界和可执行检查方法。398 收藏