Go教程技术文章
-
用 Doublestar 的目录前缀与 **/*.ext 模式限制递归匹配范围,说明 Glob、GlobWalk、文件过滤、路径分隔符和错误边界。331 收藏 -
用 Pond v2 的 NewSubpool 设置局部并发上限,解释子池与父池的共享额度、任务结果等待、退出顺序,以及资源预留误解和嵌套等待风险。241 收藏 -
Pond v2 默认队列近似无限,使用 WithQueueSize 设置等待容量,再用 TrySubmitErr 或 WithNonBlocking(true) 在容量用尽时拒绝超额任务;文章还说明运行数、排队数与收尾方式的区别。265 收藏 -
用 Go Pond 的 NewGroup、SubmitErr 和 Wait 统一等待一批并发任务并收集错误,同时说明首个错误后的取消边界与 StopAndWait 收尾方式。444 收藏 -
ants 池满时,WithMaxBlockingTasks 可以限制等待空闲工作协程的 Submit 调用数量;超过上限会返回 ErrPoolOverload。本文说明它与池容量、WithNonblocking、监控指标和回滚策略的区别。364 收藏 -
通过 WithPanicHandler 为 Ants 任务配置统一异常处理,提供完整 Go 示例,说明堆栈记录、任务计数、回调完成通知,以及提交失败、业务失败和重试的区别。450 收藏 -
用 Go Ants 配置 WithNonblocking(true),区分 ErrPoolOverload 与 ErrPoolClosed,并比较拒绝、有限重试和外部有界队列三种池满处理方式。278 收藏 -
Goose 默认把单个 SQL 迁移放进事务;本文说明如何用 NO TRANSACTION 让指定文件绕过事务,并处理 Up、Down、失败恢复和上线检查。433 收藏 -
Goose 默认按分号识别 SQL 语句,存储过程内部的多个分号可能导致迁移被拆开。本文说明如何用 StatementBegin 和 StatementEnd 包住完整过程,并区分 Up、Down、NO TRANSACTION 与 MySQL multiStatements 的职责。225 收藏 -
用 embed.FS 把 Goose SQL 迁移打进 Go 程序,说明目录保留、SetBaseFS、数据库方言与连接配置,提供完整迁移命令,并解释重新构建、只读文件和发布执行责任。456 收藏 -
Go sqlx 组合命名参数与 IN 列表时,应先用 Named 把 :name 转为问号参数,再用 In 展开切片,最后按数据库驱动调用 Rebind。本文说明调用顺序、空切片边界和可复用查询写法。301 收藏 -
Gock 可以为同一个 HTTP 方法和路径注册多条模拟规则,并按 FIFO 顺序消费不同响应。本文用 Times(1) 组合状态码与 JSON,说明连续请求、规则耗尽、未匹配判断和清理边界。412 收藏 -
自定义http.Client需要在请求前安装Gock拦截器。本文给出无真实网络回退的完整Go测试示例,说明实例接线、请求匹配、RestoreClient恢复与全局模拟清理的不同职责。303 收藏 -
Go Testify 用 mock.Call.Run 接收 Arguments,在回调中取出并修改指针参数;本文区分 Run 与 Return,说明类型匹配、nil 防护和值参数边界。297 收藏 -
用 Gock 为指定主机注册 HTTP mock,说明主机匹配、客户端拦截、未匹配请求策略和测试清理边界。252 收藏