Go教程技术文章
-
用 Go bufio.Writer.AvailableBuffer 配合 append 和 strconv.AppendInt 构造短记录,减少循环中的临时切片分配,并说明容量不足、切片生命周期、Flush 和 Go 版本兼容边界。226 收藏 -
Go bufio.Reader.Discard 按固定字节数跳过协议头部,重点说明返回数量、短输入、负数参数和动态长度边界。365 收藏 -
讲解 Go bufio.Scanner 如何编写保留分隔符的 SplitFunc,覆盖 advance、token、atEOF、跨缓冲区匹配和尾部残片处理。121 收藏 -
说明 Go bufio.Scanner 读取超长单行时如何用 Buffer 调整 token 上限,正确处理错误与内存边界,并判断何时改用 bufio.Reader。175 收藏 -
说明 Go archive/zip 如何使用 OpenRaw 和 CreateRaw 原样复制已压缩条目,覆盖 FileHeader 复制、中央目录收尾、重名处理、ErrInsecurePath 与 CreateHeader 的适用边界。442 收藏 -
介绍 Go 中如何让 zip.Reader 作为 fs.FS 使用,覆盖磁盘 ZIP、内存 ZIP、fs.ReadFile、fs.ReadDir、fs.Sub、路径约束与资源关闭。253 收藏 -
说明 Go archive/zip 如何自动生成 ZIP64 元数据,使用 io.Copy 流式写入大条目,并正确读取 64 位大小字段与处理关闭错误。122 收藏 -
演示如何用 Writer.RegisterCompressor 为指定 ZIP 方法注册压缩器,并说明 Method 选择、Close 刷新、并发安全、读取兼容性和性能衡量方法。220 收藏 -
介绍 Go 用 io.Pipe 将 archive/tar 输出直接作为 HTTP 请求体的方法,说明背压、关闭顺序、错误传播和 Content-Length 边界。229 收藏 -
用 Go archive/tar 解包时,不能只把 Header.Name 与目标目录 Join 起来。本文用文件名本地化检查、条目类型拒绝和 os.Root 根目录写入约束,给出一套可落地的安全解包方案。188 收藏 -
介绍 Go archive/tar 识别 GNU 与 PAX 稀疏文件条目的方法,解释逻辑大小、洞区读取行为和 Writer 不支持稀疏写入的边界。125 收藏 -
介绍 Go archive/tar 使用 Header.PAXRecords 写入自定义 PAX 扩展字段的方法,说明命名空间、正文长度、读取验证和兼容性边界。366 收藏 -
Go 目录读取要同时处理排序、批量和内存边界:os.ReadDir 适合一次读取并按文件名排序,File.ReadDir(n) 适合固定批次消费但返回目录顺序。本文给出两种写法、EOF 处理、资源释放和全局排序方案。156 收藏 -
Go标准库flag可通过自定义Value累积同名参数。本文实现顺序保留的字符串切片类型,说明Set调用、零值String、FlagSet错误处理与参数终止边界。104 收藏 -
Go HTTPS 客户端同时访问公网和企业内网服务时,可先复制系统根证书池,再追加业务 PEM 根证书,并通过 tls.Config.RootCAs 交给 HTTP Transport。本文给出配置代码、参数边界和排查清单。375 收藏