Go语言技术文章
-
用 AbortController 和 AbortSignal.timeout 为 Fetch 设置超时,区分 TimeoutError、AbortError、HTTP 状态和普通网络错误,并给出兼容回退写法。108 收藏 -
模型流式输出中断时,不要直接把请求重发并拼接全文。先保存 request_id、事件序号和幂等键,重连时重放已确认事件,再按供应商能力决定是否续生成,才能避免重复展示和状态错乱。108 收藏 -
PHP DateTime 时区转换后日期跨天,通常是同一时间点在目标时区的本地日期不同。本文区分 setTimezone、setTime 和字符串解析,说明如何保留原始时间并按业务时区计算日期。107 收藏 -
用 Java ScopedValue 传递请求上下文时,绑定位置、线程边界和版本 API 是最容易出错的地方。本文给出配置示例与排查清单。107 收藏 -
Go os.Rename 在 Unix 与 Windows 下对打开文件的处理不同。本文用同目录临时文件、句柄关闭、进程内读写锁和有限重试,设计不删除旧文件的跨平台替换方案。107 收藏 -
小额贷款机构整理客户档案时,应按材料证明的对象区分身份资料与贷款业务凭证,再用客户号和业务号建立受控关联。本文给出材料对照表、五阶段业务凭证链和归档交接清单,并提醒金融账户等敏感信息要按适用规则和机构制度管理。107 收藏 -
MySQL 的 IS NULL 可以参与索引范围,但复合索引顺序不能靠 WHERE 条件位置判断。本文用租户与软删除示例说明左前缀、索引选择和 EXPLAIN 复查方法。107 收藏 -
从最近访问、累计频率、热点迁移和 TTL 设计几个维度比较 Redis 的 allkeys-lru 与 allkeys-lfu,并给出配置和观测检查清单。106 收藏 -
Go database/sql 的 sql.Stmt 可以在重复 SQL 中复用。本文按 DB、事务和局部函数三种边界说明 PrepareContext、StmtContext 与 Close 的正确放置,避开反复 Prepare 和资源迟迟不释放。106 收藏 -
讲清 Go sql.Tx 回滚失败时如何保留原始业务错误,使用 errors.Join 组合异常,并区分 ErrTxDone 与 Commit 失败。106 收藏 -
Go flag.VisitAll 会按参数名字典序遍历全部参数,这个确定性顺序不等于用户帮助的阅读顺序。本文解释 VisitAll、Visit 的边界,并给出收集参数后按显式规则生成稳定帮助文档的方法。106 收藏 -
Golang · Go问答 | 2天前 | 类型推断 · Go问答 · Go泛型 · 编译报错 · 函数签名 · 泛型函数 类型参数 Go 泛型 cannot infer type type inference
Go 泛型出现 cannot infer type 时,先判断类型参数是否出现在普通实参中,再用显式类型参数或调整函数签名完成修复。105 收藏 -
Go 的 channel range 只有在通道关闭后才会退出。本文从单发送者、多发送者和接收端提前退出三个场景说明 close 的责任边界,避免 range 卡住与 send on closed channel。105 收藏 -
Golang · Go问答 | 19小时前 | go · Context · DNS · net.Resolver · LookupIP · DNS解析 context取消 Go net.Resolver LookupIP 部分地址
Go net.Resolver.LookupIP 取消后,标准库不会把半截地址列表作为成功结果返回。本文解释 Context 取消、并发共享查找、旧切片复用和错误判断之间的关系,并给出安全的地址缓存与排查写法。105 收藏 -
科技周边 · 人工智能 | 15小时前 | 人工智能 · openai api · 工程实践 · 批处理 · OpenAI Batch API custom_id 批量请求结果映射 JSONL 结果回配
OpenAI Batch API 的输出顺序不保证与输入一致,custom_id 才是回配原始请求的稳定关联键。本文用 JSONL、成功结果、错误结果和重试设计说明如何可靠映射批量任务。105 收藏