Go语言技术文章
-
Go embedding 的字段冲突要先看选择器路径:同层同名会产生歧义,外层同名会隐藏嵌入字段,而方法提升还要单独检查签名与显式调用路径。本文用最小示例说明如何定位并修复。438 收藏 -
Go compress/gzip 出错时要分开检查 Write、gzip.Writer.Close、底层 Close 和读取是否到达 io.EOF。本文用写入与读取示例说明流关闭顺序、GZIP 尾部校验和最小错误定位方法。272 收藏 -
Go embedding 会把嵌入字段的部分方法提升到外层结构体,但值与指针接收者仍受方法集规则限制。本文用字段路径、同名冲突和接口赋值说明如何正确读取与转换。199 收藏 -
Go 读取 gzip 不只是调用 gzip.NewReader:本文从单个 .gz 文件讲到串联 gzip 成员,说明 io.EOF、ErrChecksum、Multistream(false) 和 Reset 应该怎样配合。144 收藏 -
Go 的方法集决定类型能否实现接口。本文用指针接收者、自动取地址、嵌入和 map 元素几个边界,说明如何稳定限定 T 与 *T 的实现范围。173 收藏 -
Go archive/tar 打包目录时,使用 filepath.Rel 计算相对路径,再覆盖 Header.Name 并统一斜杠,就能控制 tar 内部目录层级,同时区分归档路径与解压目标路径。248 收藏 -
Go 中值变量能调用指针接收者方法,不代表值类型实现了接口。本文用方法集和接口赋值两个边界定位这类编译错误。235 收藏 -
Go archive/tar 写入长路径时报 header field too long 时,重点检查是否强制使用 USTAR;通过默认格式选择或 PAX 保留完整名称,并区分读取时的路径安全错误。208 收藏 -
Go 的 T 与 *T 方法集并不相同。本文用接口赋值、可寻址变量和方法表达式拆开指针方法的调用与转换边界,帮你定位 method has pointer receiver 编译错误。253 收藏 -
Golang · Go教程 | 2星期前 | 文件处理 · Go教程 · Go archive/tar Go tar归档头 archive/tar Reader.Next Go读取tar文件 Go解包元数据
用 archive/tar.Reader 的 Next 逐条读取 tar 归档头,解释 Header 元数据、正文读取、目录跳过以及 EOF 和不安全路径处理。225 收藏 -
Go 类型断言如何限定接口范围?本文说明具体类型断言与接口类型断言的区别,演示 comma-ok、安全探测、最小接口和 type switch 的取舍。419 收藏 -
Go archive/zip 的文件名由 Create 参数或 FileHeader.Name 决定。本文用原创示例说明如何生成稳定的相对路径,并处理目录、重复名、分隔符和中文名编码边界。330 收藏 -
Go 类型断言报错时,先确认接口中的动态类型,再用双返回值和 %T 定位原因,并区分 nil 接口与 typed nil,避免用 panic 掩盖输入协议问题。215 收藏 -
Go archive/zip 报错不一定是整个 ZIP 都坏了。本文按中央目录、本地文件头和内容校验三个边界排查 ErrFormat、ErrChecksum,并给出生成端 Close 检查清单。303 收藏 -
Go 中的 assert 通常指接口类型断言。本文比较单值断言、逗号 ok 和 type switch,说明动态类型读取、失败处理以及 nil 边界。172 收藏