Go语言技术文章
-
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教程 | 4星期前 | 文件处理 · 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 收藏 -
Go 的 archive/tar 通过同一个 Writer 顺序写入多个条目。本文说明 Header.Size、WriteHeader、Write 和 Close 的配合关系,并给出用 Reader.Next 核对归档边界的原创示例。376 收藏 -
解释 Go sort.SliceStable 如何保持排序键相等元素的原始顺序,对比 sort.Slice 的选择边界,并给出单字段与多字段排序示例。245 收藏 -
Go 的 Example 函数如何放进 _test.go、如何用命名约定关联文档对象,以及 Output 和 Unordered output 注释何时会让示例参与测试。170 收藏