Go语言技术文章
-
使用 csv.DictReader 的 restkey 和 restval 明确处理 CSV 的额外列与缺失列,再结合必填校验和空字符串判断,避免导入数据把结构异常静默吞掉。105 收藏 -
Go exec.CommandContext 默认只取消 Cmd 对应的父进程。本文用 Unix 进程组、负 PGID 信号和有限宽限期,说明如何清理子进程树,以及 Cancel、WaitDelay、Wait 的职责边界。184 收藏 -
用CompletableFuture编排多个异步阶段时,应在阶段边界设置orTimeout,在异常出口区分TimeoutException与业务失败,并用handle统一结果,避免超时被吞掉或阻塞线程池。242 收藏 -
用 Go testing.T.TempDir 替代手工临时目录清理,掌握测试文件隔离、并行子测试、GOTMPDIR 与迁移边界。308 收藏 -
PHP 默认文件会话会让同一用户的并发请求排队。本文从覆盖数据的故障现象出发,说明如何缩短 Session 锁定区间、区分只读与写入请求,并处理并发修改边界。458 收藏 -
Go os/exec 同时读取 StdoutPipe 和 StderrPipe 时,串行消费可能因管道缓冲写满而阻塞。本文给出 Start、双路读取、Wait 的修复顺序,并说明何时使用 CombinedOutput。113 收藏 -
用一个可复用的 slog Handler 包装层统一过滤 password、token、email 等敏感字段,同时覆盖 WithAttrs、WithGroup 和嵌套 Group,业务日志调用保持不变。415 收藏 -
从版本线、驱动兼容、SQL行为、复制灰度和回滚边界五个方面,评估 MySQL LTS 与 Innovation 的迁移窗口。265 收藏 -
OCR 通常先返回文本、坐标和置信度,不会直接给出可用的二维表。通过统一坐标、按垂直重叠聚类行、按横坐标排序并推断列锚点,可以重建表格关系,同时保留低置信度单元格供复核。385 收藏 -
Go strconv.Atoi 已经把字符串按当前平台 int 宽度解析。遇到溢出或非法文本时,应先检查 error,再做业务范围判断,最后才使用转换结果。137 收藏 -
用 Go log/slog 的 slog.Group 和 Logger.WithGroup 把请求、订单等字段放进稳定命名空间,并理解 TextHandler 与 JSONHandler 的输出差异。367 收藏 -
Redis Cluster跨槽批量读取不能把不同slot的key直接拼成一次MGET。本文用按slot分组、节点读取、重定向处理和原序合并的方式,给出可落地的拆分方案。461 收藏 -
Golang · Go问答 | 17小时前 | Go问答 · Go fmt.Fscan剩余换行 Go读取换行分隔输入 fmt.Fscan与ReadString Go空行处理 bufio.Reader整行读取
解释 Go fmt.Fscan 将换行视为空白分隔符时的边界行为,给出切换到 ReadString、Fscanln 和整行解析的实用方案。343 收藏 -
围绕一条真实列表查询,拆分过滤、排序和返回字段,给出 MySQL 复合覆盖索引的布局方法、EXPLAIN 检查项,以及范围条件和写入成本的上线边界。228 收藏 -
Go database/sql 复用 sql.Stmt 时,先按 DB、Conn、Tx 区分所有权,再把创建与关闭绑定到同一生命周期;文章给出初始化复用、Rows清理、事务执行和停机收尾的实用写法。465 收藏