Go语言技术文章
-
Golang · Go问答 | 1个月前 | 错误处理 · 文件上传 · Go问答 · Go multipart.Reader 临时上传文件 上传失败清理 multipart.Part Form.RemoveAll
Go multipart.Reader 流式上传要把临时文件当作未提交资源管理:单个 Part 写入失败立即删除当前文件,请求后续部件失败则回滚已落盘清单;使用 ReadForm 时改用 Form.RemoveAll。387 收藏 -
用 container-type 建立容器查询上下文,再通过 @container 按卡片自身宽度切换单列与两列布局,并说明命名容器、inline-size 与回退方案的边界。387 收藏 -
用公共事件信封承载 Kind 与 json.RawMessage,先解析公共字段,再把动态 payload 分流到具体 Go 结构体,并处理未知类型、空载荷和兼容性边界。387 收藏 -
从批次边界、吞吐控制、错误分流和幂等写入四个层面,说明 Embedding 批量生成如何稳定处理长文本、429、超时和进程重启。387 收藏 -
照妖镜产品站把它定位为轻量工具和生活助手,并按日常、户外、创作、趣味、系统五类组织入口。本文说明如何从场景选择工具,以及哪些能力不应替代专业设备。387 收藏 -
MySQL Prepared statement 通常按会话缓存内部结构;引用表或视图的元数据变化、表定义缓存刷新时,下一次执行会自动重新预编译。本文用触发清单和 Com_stmt_reprepare 说明排查边界。387 收藏 -
用 Go 1.27 实验性 simd API 编写跨 amd64、arm64 与 wasm 的向量代码,覆盖向量长度、尾段处理、模拟路径和 archsimd 适配边界。387 收藏 -
通过命名切片调用泛型过滤函数后类型退化的问题,讲清 S ~[]E 的含义、类型推断、返回 S 的实现方式,以及 nil、底层数组共享和元素类型变化时的设计边界。387 收藏 -
Go 的 maps.Insert 可以把 iter.Seq2 键值流写入目标 map。本文从 maps.All、slices.All 和自定义生成器三个来源说明合并写法,并梳理重复键覆盖、惰性执行、空流与遍历顺序边界。387 收藏 -
sync.OnceFunc 会把固定关闭回调与一次性状态封装成同一个可并发调用的函数,首次调用完成前其余调用者会等待。本文给出共享资源关闭写法,并比较 Once、原子标记、OnceValue 与单所有者方案的适用边界。387 收藏 -
服务端输出 Declarative Shadow DOM 后,自定义元素仍可能保持未知 HTMLElement 状态。本文从解析时序、CustomElementRegistry 一致性和升级观测三个指标入手,给出可复用的定位代码与修复结构,帮助 SSR 组件稳定触发 constructor 和 connectedCallback。387 收藏 -
Go 的 bufio.Reader.Peek 可以查看协议头而不推进读取位置,适合在流式输入中先判断协议类型再决定后续解析。本文用固定协议头示例说明 Peek 的缓冲区上限、短读错误、返回切片有效期,以及确认后的 Read 和 Discard 用法。387 收藏 -
还原 MySQL 死锁等待关系,需要逐项对应事务、持有锁、请求锁和冲突资源,不能只看当前 SQL。本文给出关系表和 Performance Schema 查询,并解释实时快照、间隙锁及重试边界。387 收藏 -
Go TLS 证书不匹配时,先确认客户端是否通过 ServerName 发送了 SNI,再查看服务端按 ClientHelloInfo.ServerName 选择了哪条证书链,最后区分 SAN、信任链和中间证书问题。本文给出一套只围绕握手日志与证书选择的定位方法。387 收藏 -
Go 的 json.Indent 可以把已有 JSON 字节直接缩进追加到 bytes.Buffer,适合日志拼接、响应包装和缓冲区复用。本文按完整工作流说明参数选择、Reset、错误处理,以及它和 json.MarshalIndent 的区别。387 收藏