Go教程技术文章
-
演示如何用 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 收藏 -
Golang · Go教程 | 1星期前 | 日志 · 标准库 · 编码 · Go教程 · 二进制日志 Go encoding/hex hex.EncodeToString hex.Encode 十六进制编码
Go 中把请求 ID、摘要或协议字段写入日志时,直接输出 []byte 容易出现不可见字符。本文用 encoding/hex 给出可读编码、预分配、解码错误和长度边界的实践清单。399 收藏 -
用 Go os.CreateTemp 在目标目录创建 0600 临时文件,完成写入与同步后再 Rename 替换目标,覆盖清理、并发、权限和跨平台边界。268 收藏 -
本文用 Go net/http ServeMux 组织方法、路径和命名通配符,说明路由优先级、PathValue 参数读取、冲突边界与旧版本兼容写法。205 收藏 -
Go test -cover 默认只统计当前测试目标包。本文用 coverprofile 和 -coverpkg 对照说明包路径选择、依赖包覆盖率与 CI 统计口径的关系。475 收藏 -
本文介绍 Go atomic.Int64 的声明、初始化、Add 递增、Load 读取和 Store 重置,说明并发计数中的复制限制与复合判断边界。381 收藏 -
Go channel 的关闭责任应跟随发送方和生命周期所有者划分。本文用单生产者、多生产者、取消信号三种场景说明 close 的位置、协调方式和排查清单,避免向已关闭通道发送数据。217 收藏 -
用一个临时日志缓冲区示例,说明 sync.Pool 如何在 Get 后初始化、Put 前清理,避免高并发复用对象时泄露上一次请求的脏状态。257 收藏