-
用 Gonum mat.SymDense 构造对称矩阵,通过 Cholesky.Factorize 判断正定性并取得分解,读取 L/U 三角因子,再把同一分解用于线性方程组求解,同时说明非正定和维度错误的处理边界。
-
使用 Go 的 xml.Decoder 流式读取 XML 时,先用 Token 找到目标 StartElement,再用 DecodeElement 把当前节点和嵌套内容解码到结构体,并正确处理 EOF、错误和循环边界。
-
Go 的 encoding/json 没有给某个字段单独绑定 Reader 的接口。本文用自定义 UnmarshalJSON 检查字段字节数,再在 HTTP 入口限制整个请求体,说明字段超限、请求体超限、语法错误和类型错误的处理边界。
-
Go 1.27 将标准库 Unicode 数据升级到 17.0.0。本文用 unicode.Version、分类表和 UTF-8 校验搭出兼容处理方案,并说明旧工具链、字体与终端显示之间的边界。
-
Go 反射中判断类型是否实现接口,应使用 reflect.Type.Implements。本文说明如何构造接口类型、处理 T 与 *T 的方法集差异、规避 nil 和非接口参数问题,并比较 Implements 与 AssignableTo 的适用场景。
-
用 Go expvar.Func 发布只读动态指标:理解读取时回调、JSON 返回值、Publish 注册、/debug/vars 接入,以及并发和性能边界。
-
已有 JSON 对象需要嵌入另一个 JSON 时,SJSON 应使用 SetRaw 或 SetRawBytes,而不是把对象当普通字符串传给 Set。本文从类型边界、原始片段校验和审计记录三个方面给出可落地写法。
-
Go 自定义类型实现 encoding.TextMarshaler 后,可以用 MarshalText 统一输出 UTF-8 文本,并被部分标准编码包复用。本文从接口目标、接收者选择、错误边界和 JSON/XML 调用方讲清实现方式,再补上 TextUnmarshaler 的可逆设计。
-
Go net/http 使用 http.Client.Timeout 设置客户端请求总超时,本文用一个可复用的小项目说明总预算、请求级 context、Transport 分阶段超时和超时错误识别。
-
Go 反射中的 CanConvert 用来判断 Value.Convert 是否会因转换规则触发 panic。本文从 Go 1.17 的迁移场景出发,说明基础类型、命名类型、切片转数组的长度边界,以及为什么可转换不等于数值无损。
-
Go 构造反向代理目标时,应先把后端地址解析成 url.URL,再交给 httputil.NewSingleHostReverseProxy。本文说明 scheme、host、基础路径和查询参数如何参与转发,并比较 Rewrite、SetURL 与旧 Director 的适用边界。
-
Go 1.26 起标准库提供 crypto/hpke,但 KEM、KDF、AEAD 不是可以任意拼接的三个下拉框。本文从兼容性、后量子迁移、硬件环境和应用用途出发,给出 DHKEM、ML-KEM、混合 KEM、HKDF、SHAKE、AES-GCM 与 ChaCha20-Poly1305 的选择思路,并用 Seal/Open 示例固定一套可复查的配置。
-
Go io.LimitReader 适合放在任意 io.Reader 消费者前面建立字节上限。本文说明它与 io.ReadAll、io.Copy、JSON Decoder 的组合方式,并用 limit+1 读取区分正常 EOF、输入超限和底层错误。
-
Go crypto/tls 在启动时加载多份证书,用 GetCertificate 按 SNI 精确选择并拒绝未知名称。示例说明回调调用条件、只读映射、兼容性及证书信任和业务鉴权的区别。
-
Go net.JoinHostPort 用于把主机和端口拼成网络地址。本文说明它为什么会给 IPv6 主机自动加方括号,并覆盖域名、IPv4、空主机、zone 标识和 SplitHostPort 配合时的实用边界。