Go语言技术文章
-
Go encoding/json 的 omitempty 不是‘所有零值都隐藏’:本文按 bool、数字、字符串、切片、映射、数组、指针和结构体拆解省略边界,并给出可选 API 字段的建模与测试方法。192 收藏 -
解释 Go database/sql 的 TxOptions 如何跨越驱动边界,区分会话默认值与下一笔事务作用域,并给出可靠的排查和验收方法。165 收藏 -
使用 Go encoding/json 的 Decoder.Token、More 与 Decode 按层读取嵌套 JSON,逐条处理目标数组,并安全跳过未知结构。364 收藏 -
解释 Go database/sql 中 Commit 成功后 defer Rollback 返回 sql.ErrTxDone 的原因,并给出区分业务错误、提交错误和正常清理结果的事务封装。360 收藏 -
介绍 Go encoding/json 在动态解码时使用 Decoder.UseNumber 保留大整数文本,并安全转换为 int64、uint64 或 big.Int。328 收藏 -
说明 Go 服务启动时如何为 database/sql 的 PingContext 设置独立超时,区分超时、取消和驱动错误,并选择失败退出或降级策略。438 收藏 -
介绍 Go strconv.AppendInt 拼接数字字段的实用写法,说明缓冲区容量、进制、类型转换、切片返回值和并发复用边界。430 收藏 -
从 DB.Stats 指标、Rows 生命周期和提前退出分支入手,定位 Go database/sql 连接耗尽,并给出可复用的关闭与防复发写法。354 收藏 -
通过 SemVer 示例讲清 Go fmt.Scanner 的触发方式、Token 读取、动词门禁、错误处理和安全赋值。182 收藏 -
讲清 Go database/sql 中 MaxIdleConns 与 MaxOpenConns、Idle、InUse 的容量关系,并用 DBStats 判断复用和等待。478 收藏 -
讲清 Go fmt.Appendf 如何把格式化结果直接追加到字节切片,并用预分配、返回值接收和基准测试控制分配。478 收藏 -
用最小 Go HTTP 接口排查 URL 查询值乱码,定位手工拼接、加号语义、重复编解码与非 UTF-8 上游问题。285 收藏 -
用 Go strings.IndexByte 定位 ASCII 协议分隔符,结合字符串切片完成低分配字段解析,并说明 -1、UTF-8、空字段和大字符串保留的边界。413 收藏 -
Go 的 url.JoinPath 会清理路径并把连续斜杠合并为一个,同时处理点段和尾斜杠。本文用紧凑示例说明普通路径、%2F、查询参数及双斜杠敏感接口的边界。446 收藏 -
strings.Builder 的 Reset 会把内部缓冲区置为 nil,不保留容量;已返回的字符串仍可能延长旧缓冲区生命周期。本文用最小示例梳理复用、清空、Grow 和对象池的边界。475 收藏