golang
已收录文章:14427篇
-
其中,在 Mock 其他函数及方法的时候,我们常用到的一个测试类库是「gomonkey」。特别地,对于方法和函数的 Mock,略有差异,在这里我们就分别给出函数和方法 Mock 示例,方便大家参考。 函数164 收藏
-
我们经常会使用 Go time 包 AddDate(),对日期进行计算。而它得到的结果,可能会往往超出我们的“预期”。(为什么预期要打引号,因为我们的预期可能是模糊、偏差的)。 引例 假设164 收藏
-
Go语言中通过goroutine和channel实现观察者模式异步通知,利用Subject管理Observer并广播事件,Notify中启动goroutine异步调用Update方法,避免阻塞发布者;为控制并发,可使用带缓冲channel作为信号量限制最大协程数,防止资源耗尽,从而实现高效、解耦的事件通知机制。163 收藏
-
答案:Go中虽可创建指向接口的指针,但因语义混淆、双重nil风险、性能损耗及方法调用复杂而不推荐;应直接使用接口值传递,仅在需共享接口变量本身时才用指针。163 收藏
-
使用net/smtp包可实现Golang邮件发送,需配置SMTP账户信息、构造符合RFC5322的邮件内容,并调用smtp.SendMail发送;支持通过MIME格式发送HTML邮件或使用第三方库处理复杂场景。163 收藏
-
答案:配置Golang项目GitHubActions需定义工作流文件实现自动构建测试。首先在.github/workflows下创建YAML文件,设置触发条件为main/develop分支的push或pull_request;工作流包含检出代码、配置Go环境、缓存模块、依赖整理、编译和带竞态检测的测试;通过缓存go.sum哈希键提升效率,避免重复下载依赖;大型项目可并行化测试任务,按模块拆分Job或使用matrix策略遍历多个微服务;多模块架构下采用路径过滤触发机制,确保仅相关服务执行CI/CD;部署阶段163 收藏