Go教程技术文章
-
Go 默认会按操作系统的解析规则查找域名。需要固定 DNS 服务器时,可以给 net.Resolver 配置 Dial 回调,再把它接入 net.Dialer.Resolver,让 LookupHost 或 HTTP 客户端使用同一套解析策略。351 收藏 -
Go net/http 重定向会复制普通请求头,但 Authorization、Cookie 等敏感头有安全边界。本文用 CheckRedirect、主机白名单和 Cookie Jar 说明如何保留必要 Header。351 收藏 -
通过配置赋值案例说明 Participle 状态词法器如何区分引号内外规则、保留文本与转义片段,并用结构体语法约束闭引号及处理字符串值。351 收藏 -
Go time.Time 写入 JSON 时,先用 In 固定业务时区,再按 RFC3339 或字段级自定义 MarshalJSON 输出稳定格式。351 收藏 -
Go 项目同时存在 go.mod、vendor 和 CI 构建脚本时,使用 -mod=vendor、-mod=mod 与 -mod=readonly 可以明确切换依赖来源。本文说明自动模式、同步 vendor、CI 固定参数和发布前检查清单。351 收藏 -
用 Go execution trace 采集短窗口运行时事件,结合 go tool trace 观察 goroutine 调度、阻塞、系统调用与 GC,并明确它和 pprof 的分工。351 收藏 -
Go transform 的 Span 可识别无需改写的字节前缀。本文用 width.Fold 说明前缀保留、ErrEndOfSpan、缓冲区处理和状态延续,并解释完整输入与流式输入的区别。351 收藏 -
用atomic.Pointer构建可复用的只读配置容器,演示完整构造、原子替换和一次Load读取,并说明map拷贝、多写者及旧快照生命周期。351 收藏 -
用固定 worker、带容量的 jobs channel、可取消提交和 WaitGroup 收尾,把 Go 中每条输入都启动 goroutine 的无界并发改造成可解释的工作池。350 收藏 -
Go regexp 使用 RE2 语法并保证匹配时间随输入规模线性增长,因此不需要给传统回溯引擎配置超时。本文用输入字节预算、模式编译边界和 FindAll 结果上限控制正则相关资源消耗。350 收藏 -
Go flag 的多子命令程序可以为每个子命令创建独立 FlagSet,并分别设置 Usage 与输出流。本文用 serve、config 示例说明帮助文本隔离、解析错误处理和验证方法。350 收藏 -
用 Go unsafe.StringData 读取字符串底层字节时,关键不是把 string 强行变成可写切片,而是保留原字符串所有者并封装只读访问。本文说明零拷贝视图的生命周期、空值和越界边界,以及哪些场景应该继续使用普通转换。350 收藏 -
Go bytes.FieldsFuncSeq 接收自定义 rune 判断函数,返回按规则切出的非空字节子切片迭代器。本文说明自定义分隔规则、与 FieldsFunc 的关系、提前停止消费以及输入切片别名边界。350 收藏 -
Go filepath.FromSlash 适合把配置、归档或协议中的斜杠路径转换为目标操作系统的文件路径。本文说明输入边界、与 ToSlash 和 io/fs 的分工,以及不能替代的清理和安全检查。350 收藏 -
介绍 Gonum quad.Hermite 的积分节点与权重用法,说明全实数边界、平方指数权重、quad.Fixed 参数、节点切片配对和并发回调边界。350 收藏