Go语言技术文章
-
Go x509 的 SetFallbackRoots 用于系统根证书池不可用时的兜底配置。本文说明 CertPool 构造、显式 Roots 优先级、nil 与重复调用边界,以及 GODEBUG 排查方式。397 收藏 -
testing.T.Name 会返回当前测试或子测试的完整名称,嵌套 Run 使用斜杠连接层级,重复兄弟名称会自动追加序号。本文用表格驱动测试说明如何读取、记录和正确使用这个名称。397 收藏 -
Go 1.27 的 encoding/json/v2 已移除实验期 format 标签选项。本文按标签参数形态、time.Time、time.Duration 和自定义类型说明迁移时应该怎么改。397 收藏 -
本文用 Go net/http 说明 Transport.CloseIdleConnections 只关闭 keep-alive 空闲连接,区分 Response.Body、活动连接和请求取消,并给出 Client、Transport 与连接池参数的排查方法。397 收藏 -
以Linux交叉构建为范围,区分目标架构与链接方式,介绍关闭cgo和保留目标C工具链两条路线,并说明动态加载器、共享库及运行镜像迁移条件。397 收藏 -
Go bytes.FieldsFunc 接收一个 rune 判断函数,可把逗号、竖线、空白等混合字符当作分隔符,并返回不含空元素的字节子切片。本文说明自定义判断、UTF-8 语义、空结果和必要时的复制边界。397 收藏 -
Go Decimal 无法恢复进入 float64 前已丢失的十进制尾数和输入格式。通过相邻长小数示例区分浮点往返表示与原始输入,并说明字符串、整数系数入口及舍入策略的适用边界。397 收藏 -
Go google/uuid 的 Validate 只返回格式判断结果,Parse 则解码得到 UUID 值。结合严格36位小写接口示例,区分兼容格式、规范化、零值策略、版本要求与资源权限。397 收藏 -
Gonum 的 YenKShortestPaths 适合在非负权图中取得多条不含环的候选路径。本文从带权有向图构造、k 与 cost 参数、路径读取和边界处理几个方面说明如何使用。397 收藏 -
Go gzip Close 负责补写压缩数据和流尾部,文件 Close 与 Flush 不能代替它。本文给出保留复制、压缩收尾及文件关闭错误的示例,说明失败产物隔离与交付条件。397 收藏 -
使用 encoding/json.Decoder 解析 JSON 数字时,先调用 UseNumber 保留原始字面量,再用 json.Number.Int64 判断是否为范围内的整数;遇到小数或越界,不要退回 float64,而是保留 Number.String() 和转换错误。397 收藏 -
Golang · Go教程 | 2天前 | 依赖管理 · Go教程 · 工程实践 · Go 间接依赖 Go Modules go list -m all go mod why go mod graph 模块图
go mod graph 会把 Go 模块之间的 require 关系按边输出。本文从生产排查角度说明如何定位间接依赖的上游来源,再用 go list -m all 确认最终版本、用 go mod why 解释实际引入原因,并整理 replace、exclude 与发布记录的检查边界。397 收藏 -
Go vet 默认不检查变量遮蔽,是因为 shadow 分析器的误报边界较宽。本文解释 :=、作用域和外层变量后续使用的关系,并演示如何用 -vettool 单独接入 shadow,再把报告放进 CI 的独立检查。397 收藏 -
slices.DeleteFunc 会把匹配元素移除,但含指针的切片还要关注尾部槽位是否被清零。本文从 Go 版本行为、底层数组引用和 GC 验收三个角度给出可运行示例,说明什么时候需要关注内存保留以及如何用 cap、runtime.MemStats 和测试确认结果。396 收藏 -
Go 中 := 只有在同一块作用域且至少有一个新变量时才会复用旧 err。进入 if 等内层块后,同名 err 可能变成新变量,导致错误检查和返回值失真。396 收藏