Go语言技术文章
-
Go 1.27 为 go/scanner.Scanner 增加 End 方法。本文用 token.Pos、token.File.Offset 和半开区间说明它如何给源码分析工具提供可靠的 token 结束位置,避免继续手算偏移。155 收藏 -
皮皮喵可从产品站了解聚合搜索、来源筛选、章节管理、阅读进度和收藏提醒等功能;Google Play 条目显示其为 Android 漫画阅读应用,使用时要留意内容来自互联网及页面数据安全声明。155 收藏 -
Bash 管道默认只返回最后一个命令的退出码,前置命令失败可能被吞掉。本文用 pipefail 和 PIPESTATUS 说明如何让脚本正确发现并定位管道错误。155 收藏 -
Go 的 defer 可能在函数真正返回前修改命名返回值。本文用错误包装场景拆开 return 与 defer 的执行顺序,并给出显式返回、只读观测和测试检查的实用写法。155 收藏 -
GOPROXY=off 不是使用本地缓存的开关,而是禁止 go 命令从任何来源下载模块。本文从 GOMODCACHE、go.sum、vendor 和 file 代理几个边界说明新依赖失败的原因,并给出可复现的离线构建处理方式。155 收藏 -
Java Stream 收集 Map 时,按键唯一性、重复键策略和并行语义选择 toUnmodifiableMap、带合并函数的 toMap 或 toConcurrentMap,再用 Map.copyOf 发布不可变快照。155 收藏 -
AI Agent 的短期上下文负责当前线程,长期存储负责跨会话复用。本文从边界、数据类型、写入检索和权限保留四个方面给出一套可落地的记忆设计方法。155 收藏 -
Go encoding/csv 开启 ReuseRecord 后,Read 返回的记录切片可能与下一次读取共享底层数组。本文用 goroutine 场景说明何时复制 []string,以及如何避免异步任务读到被覆盖的数据。155 收藏 -
农产品批发采购核对检测报告时,重点不是看有没有一张报告,而是确认货物名称、生产者、批次、数量和检测结论是否对应,并把合格凭证、进货凭证和异常处置一起留档。155 收藏 -
在 Go 的 cgo 代码里,C.GoString 适合读取以 NUL 结尾的 char*,C.GoStringN 适合长度明确的数据;反向使用 C.CString 时还要释放 C 堆内存。本文用一个小示例把三种边界讲清楚。155 收藏 -
Go 的 sql.Stmt 可以被多个 goroutine 并发使用,但 Close 不等于取消查询。本文说明正在执行、Rows 返回后和优雅停机时的正确关闭顺序。155 收藏 -
Go 泛型约束写了具体类型,却不代表类型参数拥有该类型的全部方法。本文从类型集、方法集和接口约束的边界出发,解释常见编译错误,给出可运行的修复写法,并说明什么时候该把行为写进约束。154 收藏 -
用 Go 的 slog.LogValuer 控制日志字段的延迟求值与脱敏,厘清日志级别过滤、LogValue、slog.String 和 slog.Group 的调用边界。154 收藏 -
Go 1.24 的 strings.SplitSeq 返回单次消费的字符串迭代器,适合只遍历不保存结果的场景。本文对比 strings.Split 与 SplitSeq 的消费方式,核对连续分隔符、空字符串和提前 break 等边界。154 收藏 -
污水处理池清淤不能把开盖当成安全信号。作业前要先确认有限空间和危险因素,完成隔离、持续通风、气体检测、作业审批与监护配置;检测异常或条件变化时,人员应停止进入并按现场处置方案处理。154 收藏