Go语言技术文章
-
Go Lumberjack 用 MaxBackups 限制历史日志份数、用 MaxAge 按轮转时间限制保留天数;本文给出组合配置、清理时机和容量估算边界。390 收藏 -
Go os.ReadDir 返回的 DirEntry.Type 只是文件类型位的子集,不能当成完整 FileMode。本文用一个目录扫描器说明快速分类与 Info 补读的边界,以及如何处理元数据读取错误。390 收藏 -
解释 iter.Pull 的 next、stop 与提前退出责任,对比直接 range 和手动拉取,提供带清理标记的示例,并说明 defer 作用域、自然耗尽及重复停止的边界。390 收藏 -
Go 的 time.LoadLocationFromTZData 可以直接从标准 IANA TZif 字节创建 Location,适合把时区数据随程序一起打包。本文说明数据来源、参数语义、错误处理以及与 ParseInLocation 的组合方式。390 收藏 -
bufio.Reader.ReadBytes 找不到分隔符就会同时返回已读片段和错误。本文以带读取期限的长连接为例,说明怎样保留超时返回的数据,在同一个 Reader 上延长 deadline 后继续拼接,并区分临时超时、EOF 与不可恢复错误。390 收藏 -
Go 1.27 的 encoding/json/v2 默认拒绝 JSON 重复键。本文用批处理示例说明严格模式、遗留兼容开关、结构体复用和分配测量的边界。390 收藏 -
Go plan9obj.Section 的两个读取者应分别调用 Open,以隔离各自的 Seek 游标。本文对比共享读取器、独立 Open 和 ReadAt,给出窗口读取示例,并说明底层文件寿命与关闭责任。390 收藏 -
Go reflect.TypeFor可直接取得泛型类型参数的反射类型。本文对比TypeOf动态值语义,提供批次外构建类型计划的示例,说明字段元数据复用、兼容写法和分配结论的边界。390 收藏 -
说明 Go net/http 中 Client 与 Transport 的复用关系,解释 Response.Body 为什么必须关闭,以及完整读取、限制读取和直接关闭对 HTTP/1 连接复用的影响。390 收藏 -
介绍 Go Colly 使用 colly.Context 在 OnRequest、OnHTML、OnResponse 和 OnError 之间传递请求级业务信息,说明 Request.Visit 的继承、Clone 的隔离边界,以及与标准库 context.Context 的职责区别。389 收藏 -
Go fuzz 语料变多时,先区分可提交的种子与失败样本,再隔离 $GOCACHE/fuzz 生成缓存,最后用运行时长和清理策略控制 CI 磁盘占用。389 收藏 -
Go strconv.AppendBool 会把 true 或 false 直接追加到已有 []byte,并返回可能扩容后的切片。本文用配置行构建器说明返回值、缓冲区复用、结果所有权,以及它与 FormatBool 的选择边界。389 收藏 -
用 Go 标准库 fs.FileInfoToDirEntry 把已有 FileInfo 适配为 DirEntry,说明 Name、IsDir、Type、Info 的映射关系,以及 nil 输入、类型断言和 Info 错误的处理边界。389 收藏 -
ML-DSA 验签失败时,先区分 PEM、PKIX 解析和公钥动态类型,再检查参数、消息与上下文。本文给出安全类型断言示例,并说明类型正确不代表公钥身份可信。389 收藏 -
Go reflect.Value.SetIterKey 用于把 MapRange 当前条目的键写入可设置的 Value。本文说明 MapIter.Next、键类型可赋值、CanSet 与迭代器状态边界,并对比 Set(iter.Key()) 的使用方式。389 收藏