Go语言技术文章
-
Go 的 base64.Decode 可能同时返回已写入字节数 n 和 CorruptInputError。本文说明如何截取有效前缀、定位坏字符,并判断部分结果能否进入业务流程。370 收藏 -
用 io.MultiWriter 把文件与 hash.Hash 组合为一个 Writer,单次读取源流即可落盘并计算摘要;通过完整示例解释写入顺序、复制及关闭错误、缓冲与字节层选择,避免返回无效结果。369 收藏 -
Go goroutine 捕获循环变量可通过显式形参固定每轮任务值。本文区分 Go 1.22 后的声明式循环与外部变量复用,用 WaitGroup 给出完整示例,并解释指针、切片和 map 的共享边界,避免把参数副本误当深拷贝。369 收藏 -
使用 Go encoding/csv 正确读取带引号的多行字段,掌握 FieldsPerRecord、LazyQuotes 与 ParseError 的边界。369 收藏 -
os.Stat 成功不保证后续 Open 成功。文章说明路径竞态、权限差异与文件句柄的区别,给出直接打开、限量读取和错误分类示例,并划清排他创建与可信根目录访问的边界。369 收藏 -
Go encoding/json/v2 默认把 nil map 编码为空 JSON 对象。本文说明怎样用 FormatNilMapAsNull 恢复 null 语义,并给出字段级覆盖与迁移回归清单。369 收藏 -
本文用 embed.FS 和 fs.Glob 演示如何按层级模式查找嵌入文件,说明路径根、通配符、无匹配结果、错误模式与 fs.ReadFile 的衔接,并补充 fs.Sub 缩短匹配根的写法。369 收藏 -
用go-message/mail的NextPart识别附件并逐个保存,示例涵盖流式复制、独立文件名、大小与数量限制,以及页面如何呈现部分成功和失败结果。369 收藏 -
go-shp 写入 Shapefile 时,Write 完成并不等于文件完整。本文说明 Close 如何收尾 SHP、SHX、DBF 头部,并给出字段、几何、属性与交付边界的写法。369 收藏 -
Go io/fs.Sub 创建子文件系统后,../ 父级路径为什么会失败?本文从 fs.ValidPath 和路径映射解释原因,并给出同时访问子目录与根级资源时保留原始 FS 的设计方式。369 收藏 -
Golang · Go教程 | 17小时前 | 标准库 · 错误处理 · Go教程 · Go image/png image.Config png.DecodeConfig PNG尺寸 png.Decode
png.DecodeConfig 可以先返回 PNG 的颜色模型、宽度和高度,不创建完整 image.Image。本文说明如何用它做尺寸边界判断,再用可重复 Reader 调用 Decode,避免把配置读取和完整解码混在一起。369 收藏 -
Go Ed25519 验签失败时,优先核对原始消息、公钥和签名字节是否一致,再检查 Base64、十六进制解码与长度边界。368 收藏 -
Go context.Value 取值失败,应区分 key 未命中与值类型断言失败,再比较 key 的动态类型和动态值。本文用原创示例解释定义类型、别名与跨包约定,并提供私有 key 的类型化访问封装。368 收藏 -
Go slices.Replace 可以把切片的半开区间替换成任意数量的新元素。本文用权限列表和批处理记录说明变长替换、空替换、索引边界、底层数组复用与结果判断,帮助你写出可复查的切片更新代码。368 收藏 -
go-i18n 找不到目标语言的 MessageID 时,会先尝试 Bundle 的默认语言;如果仍没有消息,再使用 LocalizeConfig.DefaultMessage。本文梳理 Localize 的回退链、错误处理以及 MustLocalize 和复数 Other 的边界。368 收藏