Go语言技术文章
-
Go 的 github.com/pkg/sftp 中,File.Close 释放远程文件句柄,Client.Close 关闭 SFTP 会话;本文用资源层级、defer 和错误处理示例说明两者的区别与正确关闭顺序。473 收藏 -
Go gofpdf 输出中文 PDF 的关键不是给核心字体换个名字,而是准备覆盖中文的 UTF-8 TrueType 字体与 JSON 定义文件,设置字体目录后调用 AddUTF8Font 注册,再用 SetFont 输出。本文给出最小配置、文件边界和常见排查点。473 收藏 -
讲清 Go sync.Pool 复用可变对象时的 Get、Reset、使用与 Put 顺序,区分清空对象和清空池,说明容量、敏感字段、所有权与适用边界。473 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · 文件读取 · Go教程 · Go archive/zip bytes.Reader os.File io.ReaderAt zip.NewReader ZIP中央目录
Go 的 zip.NewReader 需要 io.ReaderAt 和整个 ZIP 的字节大小。本文解释 size 如何帮助定位文件末尾的中央目录,并分别给出 os.File、bytes.Reader 的正确写法,说明传读取长度、剩余长度和目录大小为什么会出错。473 收藏 -
客户端断开后,Go Handler 不会因为看到断开就自动停止全部代码;要让下游 HTTP、数据库和循环及时收尾,必须从 r.Context() 监听取消并继续向下传递。472 收藏 -
Go 的 encoding/gob 适合在 Go 程序之间保存结构化本地缓存。本文用带版本和过期时间的结构体演示原子写入、恢复、缓存失效处理,以及导出字段和结构体演进时的边界。472 收藏 -
Go 的 http.Cookie 设置成功后,浏览器是否发送主要由 Path 与请求 URL 的路径匹配决定。本文解释显式 Path、默认路径、排查顺序,以及删除 Cookie 时的配对规则。472 收藏 -
Go gzip.Writer.Flush 会让流式数据更早可见,但高频调用会同步写出、增加同步标记并切碎压缩批次。本文给出消息边界、HTTP 缓冲和压测判断方法。472 收藏 -
围绕 Go maps 包比较嵌套值的相等性,说明 maps.Equal 与 maps.EqualFunc 的选择边界,并处理切片、嵌套 map、nil 与空集合语义。472 收藏 -
Go os.ReadFile 失败时,先用 errors.Is 区分路径不存在与权限拒绝,再通过 *os.PathError、os.Stat 和父目录权限定位目录误当文件、路径上下文和运行身份问题。472 收藏 -
Go context.WithValue 的字符串键可能与其他包发生相等值碰撞,导致值被意外覆盖或读取。本文解释可比较键与唯一键的区别,并给出包内自定义类型、类型安全访问器和迁移排查清单。472 收藏 -
Golang · Go教程 | 1个月前 | 标准库 · 错误处理 · 文件读取 · Go教程 · Go bufio bufio.Reader ErrBufferFull ReadSlice bytes.Join 文本扫描
bufio.Reader.ReadSlice 遇到没有及时出现的换行符时会返回 ErrBufferFull 和一段暂存切片。本文说明怎样先复制片段、继续读取,再用 bytes.Join 拼回完整一行,并区分 EOF 与真实错误。472 收藏 -
Go HTTP Server 用 ConnContext 保存连接编号与地址快照,handler 从请求上下文读取;结合完整示例说明私有键、连接复用与请求身份的边界。472 收藏 -
Go 的 os.Rename 在 Windows 上失败,常见原因是文件句柄未关闭、目标路径是目录或跨目录限制。本文用 LinkError 保留上下文,并给出同目录临时文件发布方式。472 收藏 -
用 io.NopCloser 把 Reader 适配为 ReadCloser,解释空 Close 与真实资源清理的边界,并给出请求体和资源所有权示例。472 收藏