Go语言技术文章
-
maps.EqualFunc 允许 Go 比较键类型相同但值类型不同的两个 map。本文用 string 与 []byte 的例子说明比较器写法,并梳理 nil、空 map、缺失键和不可比较值的边界。284 收藏 -
maps.Keys 返回 map 键的 iter.Seq,但官方明确说明迭代顺序未指定,而且不同调用之间不保证一致。本文解释常见误区,并给出普通有序键、结构体键、测试与接口输出的稳定排序写法。304 收藏 -
Go 的 x509.SystemCertPool 在 Linux、macOS、Windows 和容器中使用的信任来源与实现不同;Subjects 也不会完整枚举平台系统根,因此数量差异不等于验证能力差异。本文按故障时间线说明根因、排查与修复。130 收藏 -
Golang · Go问答 | 4星期前 | go · TLS · 网络安全 · VerifyConnection Go InsecureSkipVerify x509.Verify TLS证书校验 证书固定
Go 中 InsecureSkipVerify=true 会跳过默认的证书链和主机名校验。若业务必须接管验证,应在 VerifyConnection 中用自定义 RootCAs、中间证书池和 DNSName 调用 x509.Verify,并可追加 SPKI 指纹约束。384 收藏 -
Go 1.23 起,maps.Collect 可以把 iter.Seq2[K,V] 键值序列收集为新的 map。本文从 slices.All 的最小写法讲到自定义 Seq2、重复键覆盖规则,以及 maps.Collect 与 maps.Insert 的选择边界。236 收藏 -
Go 的 TCP KeepAlive 只能帮助内核探测部分失联场景,不能证明对端应用仍能处理业务。本文用职责对照和 Go 代码说明如何组合 TCP 探测、ping/pong、截止时间与重连策略。468 收藏