Go教程技术文章
-
Go 文件写入成功不代表 Sync 和 Close 一定成功。本文按 Write、Sync、Close 的责任边界拆开说明错误处理顺序,并给出既能延迟关闭又不会覆盖前置错误的写法。101 收藏 -
Go os.File.Truncate 把文件扩大后,新增区域读取起来像是由零字节填充。本文从文件逻辑长度、零填充读取语义和稀疏文件的物理占用三个层面解释原因,并给出适合固定长度文件的 Go 写法。271 收藏 -
Go 生成 GIF 时,局部帧叠加和 Disposal 选择不当会让旧像素残留。本文解释 DisposalNone、DisposalBackground、DisposalPrevious 的区别,并给出编码与排查方法。145 收藏 -
解释 fs.Sub 的目录根约定与延迟访问错误,用内存文件系统示例区分路径合法性、目录属性和子树映射,并给出父目录读取与显式目录检查写法。198 收藏 -
使用 Go image/gif 的 DecodeAll 读取 GIF 全部帧,导出每帧 Delay、可读播放时长和 LoopCount 循环语义,并说明 Decode 与 DecodeAll 的迁移边界。456 收藏 -
Go 的 png.DecodeConfig 可以先读取 PNG 的颜色模型和宽高,再决定是否创建完整图像。本文说明尺寸准入、Reader 位置重置、内存 Reader 重放和两阶段错误处理。202 收藏 -
介绍 Go PNG EncoderBufferPool 的适配实现与批量编码接入,提供无池和有池基准示例,解释借还所有权、错误处理及分配下降与内存保留的区别。135 收藏 -
Go image.Rectangle.Canon 只能修正 Min/Max 的反向坐标,不能把零宽、零高或相交为空的矩形变成有效裁剪范围。本文用 Dx、Dy、Empty 和裁剪前检查定位问题。469 收藏 -
用 Go 的 image.Rectangle.Intersect 计算两个图片边界的共同区域,理解半开区间、空矩形、边界相接和 SubImage 裁剪坐标的处理方式。162 收藏 -
Go go list -export -json 会为包提供 Export 绝对路径和 BuildID。本文说明如何把这两个字段交给构建分析器,并解释 -deps、-e、-find 与编译缓存路径的边界。211 收藏 -
Go flag.FlagSet.VisitAll 会按参数名的字典序遍历所有已注册标志。本文用标准库示例生成稳定帮助清单,解释 VisitAll 与 Visit 的区别、默认值展示、宽度排版和自定义 Usage 的错误处理。472 收藏 -
用完整包路径、类型和方法定向查询 Go 文档,按需使用 -src 查看实现,并用 go list 查找本地源码目录,区分符号查询、展示选项与文件位置。230 收藏 -
用 Go expvar.Func 发布只读动态指标:理解读取时回调、JSON 返回值、Publish 注册、/debug/vars 接入,以及并发和性能边界。436 收藏 -
Go os.ReadDir 返回的 DirEntry.Type 只是文件类型位的子集,不能当成完整 FileMode。本文用一个目录扫描器说明快速分类与 Info 补读的边界,以及如何处理元数据读取错误。390 收藏 -
用 Go net.Resolver.LookupSRV 查询服务记录,拆解 Target、Port、Priority、Weight 的职责,并给出带超时、可直接交给 DialContext 的地址转换写法。201 收藏