Go语言技术文章
-
fs.Sub 只把 io/fs 的逻辑名称映射到子目录,不参与操作系统对符号链接的真实解析,因此不能把 os.DirFS 变成安全沙箱。本文用最小示例解释越界原因,并给出 Go 1.24+ 的 os.Root 做法。248 收藏 -
本文用一个多生产者、多消费者示例说明如何把固定容量的 Go Channel 作为排队上限:缓冲区满时生产者自然阻塞,并通过方向约束、context 取消、WaitGroup 和单点关闭保证生命周期安全。248 收藏 -
用 nftables 命名集合维护临时封禁地址,配置 timeout、gc-interval 和 size,掌握 add、delete、expires 观察及重启恢复边界。248 收藏 -
MySQL LAG 可以在每个分组内取上一行值,再用当前值与上一值比较标出状态切换或连续数值变化。本文给出窗口定义、变化点筛选、NULL 处理和排序稳定性的完整写法。248 收藏 -
Go encoding/csv 的 TrimLeadingSpace 只针对字段开始处的空白解析规则,本文用示例说明普通字段、空白分隔符与引号内空格的边界。248 收藏 -
Go csv.Reader 遇到列数不一致时,不要直接丢掉 Read 返回的 record。本文区分 FieldsPerRecord 的三种模式,演示如何捕获 ErrFieldCount、保存已解析异常行,并说明何时需要保留原始字节。248 收藏 -
区分 Go 文件 Write、File.Sync 与 Close 的职责,掌握关键文件写入时的持久化和错误处理顺序。248 收藏 -
用 Go io.TeeReader 可以在读取文件、请求体或消息流时同步写入 hash.Hash,边读边计算 SHA-256 而不必先缓存完整输入。本文说明完整消费、摘要结果和写入错误之间的关系,并比较 TeeReader、MultiWriter 与 io.ReadAll 的适用场景。248 收藏 -
Argo Workflows v4.1 把执行器插件、OpenTelemetry、制品传输、资源声明和身份集成推到更重要的位置。本文按平台接入顺序拆解这些官方演进对权限、流水线、制品、门禁和复盘的影响。248 收藏 -
Go pprof CPU profile 看不到业务函数时,先区分采样窗口没有业务热点,还是 profile 与分析端二进制没有正确配对。本文给出精确二进制、本地符号化、构建裁剪和复采样的排查路径。248 收藏 -
Cilium 官方文档显示,Gateway API 控制器与 CNI、eBPF、Envoy 和网络策略紧密结合。本文按入口模式、暴露方式和落地前置条件,判断它适合哪些 Kubernetes 场景,以及哪些边界不能忽略。248 收藏 -
本文解答工业化视频生产优先标准化的核心问题,拆解三层规范与阶段闸门,附实用FAQ与复用测试方法。247 收藏 -
解释 Go parser.AllErrors 只会取消默认的同一行错误抑制和十条左右停止限制,并说明解析恢复为何仍会跳过或遮蔽部分语法问题。247 收藏 -
用 OpenAI Structured Outputs 约束嵌套 JSON 时,关键是逐层声明 required,并在每个 object 节点关闭 additionalProperties,再用 nullable 表达业务可选值。247 收藏 -
本文用 go mod tidy -diff、go mod why 和 go mod graph 建立可回滚的依赖整理流程,解释新增、删除、版本变化和 indirect 注释变动的真实含义。247 收藏