Go教程技术文章
-
Go 的 html/template 会按输出上下文自动转义。本文解释为什么不能直接拼 HTML 字符串,以及如何划分普通文本、可信片段和回归检查边界。388 收藏 -
Go 的 testing.T.Setenv 会修改整个测试进程的环境变量。本文说明它为何不能用于并行测试,并给出串行清理、显式配置和子进程隔离的选择方法。388 收藏 -
Golang · Go教程 | 1个月前 | Cookie · Go教程 · net/http · HTTP客户端 · Go cookies http.CookieJar SetCookies Cookie顺序
区分 Response.Cookies、Jar.SetCookies 与 Jar.Cookies 三条路径,按 URL 作用域判断 Go http.CookieJar 的可发送 Cookie,并解释同名 Cookie 按最长 Path、最早创建时间返回的顺序规则。388 收藏 -
Go fmt.Formatter 通过 Format(fmt.State, rune) 接管自定义类型的格式化。本文从最小实现开始,说明怎样读取动词、宽度、精度和标志,并排查递归调用与未知动词问题。388 收藏 -
Go 反射更新结构体字段时,reflect.Value.SetZero 可以把可设置值恢复为其类型零值。本文用字段更新场景说明 CanSet、指针 Elem、未导出字段和 map/slice 清空之间的边界。388 收藏 -
Go os.ReadDir 会返回按文件名排序的 fs.DirEntry 清单;本文说明 DirEntry 与 Info 的分工、部分读取错误,以及大目录使用 File.ReadDir(n) 的实现边界。388 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · 性能优化 · url · Go教程 · Go net/url []byte URL.String URL.AppendBinary URL.MarshalBinary
Go net/url 的 URL.AppendBinary 可以把 URL 文本追加到已有 []byte,并把返回切片交给后续协议或日志写入。本文说明正确接住返回值、处理错误、复制长期数据,以及它和 URL.String、MarshalBinary 的选择边界。388 收藏 -
在 Go 中使用 Gonum mat 求解线性方程组时,不必先计算 A 的逆矩阵。本文从 A·X=B 的形状入手,用 Dense.Solve 处理单个和多个右端项,并给出 Condition 错误、维度排查与残差确认方法。388 收藏 -
go mod graph 会把模块需求图按一行一条边打印出来,适合查看主模块、传递依赖、版本要求和 replace 后的关系。本文说明输出格式、筛选方法,以及它和 go list -m all、go mod why 的区别。388 收藏 -
Go crypto/aes 不会替业务配置自动处理可选字段:密钥始终必填,GCM 的 nonce 按模式决定是调用方提供还是由随机封装生成,AAD 可以为空但解密必须保持一致。本文用一个小型配置入口拆清缺省字段的判断、错误和适用边界。388 收藏 -
用 Go 1.25 的 iter.Seq 封装一条可提前停止的流式校验链,说明 yield 返回值、错误回传和单次迭代边界,避免先收集切片再重复扫描。387 收藏 -
Go slog 在多个子系统共用 id、status 等字段时,WithGroup 可以把属性放进稳定命名空间。本文用 TextHandler 和 JSONHandler 对比分组结果,并说明动态属性、嵌套分组与空组名的边界。387 收藏 -
用一个可运行的 net/http 示例说明 HandlerFunc 如何把普通函数接入 ServeMux,再用中间件包装请求日志与响应头,厘清组合顺序、闭包捕获和错误边界。387 收藏 -
Go 校验 HMAC 签名时,不要把十六进制或 Base64 文本当普通字符串比较。本文说明如何重新计算 MAC、解码签名并使用 hmac.Equal 比较,同时处理编码错误、长度边界和请求鉴权中的常见误区。387 收藏 -
用公共事件信封承载 Kind 与 json.RawMessage,先解析公共字段,再把动态 payload 分流到具体 Go 结构体,并处理未知类型、空载荷和兼容性边界。387 收藏