/images/avatar.webp

五岁博客

Go 内存分配逃逸分析指南

一、引言:被忽略的性能关键

刚接触 Go 开发时,我曾写过一段看似简单的代码:在函数内创建一个结构体,返回其指针供外部使用。

上线后发现,高并发场景下程序 GC 耗时异常增高,排查后才知道——这个结构体因为“逃逸”被分配到了堆上,频繁的堆内存分配与回收拖慢了性能。

Go 踩过的坑之锁 Mutex 失效

不管是在 Go 语言还是在哪种并发编程实践中,锁 sync.Mutex 作为最常用的同步原语,理论上应该保证共享资源的安全访问。

然而在实际开发中,很多开发者都遇到过这样的困惑:明明已经加了锁,为什么数据竞争问题依然存在?

Go语言使用 gomail 库发送邮件

在现代软件开发中,邮件发送功能几乎成为了每个应用的标配。无论是用户注册验证、通知提醒还是营销推广,邮件都扮演着不可或缺的角色。作为一门高效、简洁的编程语言,Go为邮件发送提供了强大的库支持。本文将重点介绍如何使用 gomail 这个优秀的库,在Go应用中实现邮件的发送功能。