Go教程技术文章
-
以检索结果页说明 Go html/template 的上下文转义、普通模板函数与可信片段,给出固定HTML标记的完整示例,并明确模板源码、富文本和URL的信任边界。317 收藏 -
Go net/url 解析带端口的域名和 IPv6 URL 时,Host、Hostname()、Port() 容易混用。本文用最小示例说明如何读取主机与端口,并处理方括号、Zone、缺失端口和非法端口边界。267 收藏 -
Go regexp 的关键不是把每次匹配都换成缓存,而是区分固定模式和动态模式:固定表达式用 MustCompile 在初始化阶段复用,动态表达式用 Compile 返回错误,并给缓存设置输入和容量边界。457 收藏 -
用最小字段写入示例讲清 Go reflect 的 Kind、CanSet 与 nil 接口,区分无效 Value、nil 指针和可写字段,并给出字符串及 *string 的安全处理方式。460 收藏 -
Go context.Deadline 返回的是绝对时间,不是剩余时长;读取时必须检查 ok,并在调用下游前区分无期限、已过期和预算不足。本文给出提前失败、子任务预算与取消函数的防御式写法。446 收藏 -
Go context.Value 适合传递跨 API 边界的轻量请求元数据,但不适合可选参数、必需业务参数、大型对象或可变状态。本文用包私有 key、类型安全读写函数和 HTTP 中间件示例说明其边界。311 收藏 -
用 Go errors.Join 收集并发任务错误,结合 errors.Is/As 做稳定判定,并把内部聚合错误转换成可控的用户返回结果。370 收藏 -
通过导出配额示例说明 Go 错误包装、哨兵分类与类型提取,给出可判断错误链的完整代码,并解释 As 目标指针、包装契约与底层细节的公开边界。474 收藏 -
Go go list 可以用模板或 JSON 输出包路径、目录、模块和依赖信息。文章从包列表、-deps、模板字段、结构化输出和模块模式几个边界出发,给出适合脚本与构建工具消费的稳定写法。446 收藏