Go教程技术文章
-
掌握 Go sync.OnceValue 的一次初始化、并发调用与结果复用方式,了解 OnceValues、panic、可变指针和重置边界。132 收藏 -
解析 Go context.WithoutCancel 保留值却切断取消、截止时间和 Cause 的精确语义,并给出独立超时、工作队列与服务关闭边界的实践方案。396 收藏 -
用 sync.Once、完成通道和 AfterFunc 的 stop 函数组合,解决取消回调与主动关闭并发时的重复清理、提前返回和竞态问题。367 收藏 -
Go context.WithCancelCause 能让取消信号继续保持 context.Canceled,同时把超时、依赖失败或主动终止等具体根因沿 context 链路传递给上层。本文用最小示例说明 Err、Cause、父子取消顺序和资源清理边界。431 收藏 -
Go ResponseController.SetWriteDeadline 可在单个 HTTP 处理器内控制响应写截止时间,适合流式响应和慢客户端保护。本文讲清最小写法、包装器兼容、错误处理及与其他超时的区别。277 收藏 -
Go encoding/csv Reader 的 FieldsPerRecord 设为 -1 后可以读取列数不同的合法 CSV,再由业务层校验必需字段、最大列数和异常记录。189 收藏 -
讲清 Go encoding/xml 对缺失元素、空元素和有值元素的映射差异,并用指针字段、TextUnmarshaler 与 UnmarshalXML 保留协议中的可选状态。142 收藏 -
通过 Go encoding/xml 的 UnmarshalXML 将旧字段名、属性和文本金额映射到领域结构,并用 DecodeElement 控制单元素消费与错误边界。189 收藏 -
讲解 Go encoding/xml.Decoder.Token 如何流式扫描大型 XML,结合 DecodeElement、Skip、InputPos 与命名空间处理逐条读取记录。424 收藏 -
Go encoding/json 的 omitempty 不是‘所有零值都隐藏’:本文按 bool、数字、字符串、切片、映射、数组、指针和结构体拆解省略边界,并给出可选 API 字段的建模与测试方法。192 收藏 -
使用 Go encoding/json 的 Decoder.Token、More 与 Decode 按层读取嵌套 JSON,逐条处理目标数组,并安全跳过未知结构。364 收藏 -
介绍 Go encoding/json 在动态解码时使用 Decoder.UseNumber 保留大整数文本,并安全转换为 int64、uint64 或 big.Int。328 收藏 -
介绍 Go strconv.AppendInt 拼接数字字段的实用写法,说明缓冲区容量、进制、类型转换、切片返回值和并发复用边界。430 收藏 -
通过 SemVer 示例讲清 Go fmt.Scanner 的触发方式、Token 读取、动词门禁、错误处理和安全赋值。182 收藏 -
讲清 Go fmt.Appendf 如何把格式化结果直接追加到字节切片,并用预分配、返回值接收和基准测试控制分配。478 收藏