Go

Go 切片、Map、Channel 的底层实现与源码原理,以及开发规范和 macOS 调试实践。

6 篇文章

深入解析 Go 语言切片(Slice)的实现原理

Go 语言的切片是灵活的可变长度序列,内部结构包含指向底层数组的指针、长度和容量。扩容机制和内存管理策略影响性能,常用操作如 append 和切片操作需注意原切片的有效性和数据共享风险。建议预分配内存、避免内存泄漏,并使用并发安全机制。理解切片的实现原理有助于高效使用。

Go团队开发规范 初定版

遵循通用编码规范和Golang特定规则,提高代码质量和可读性,确保安全性,进行有效的代码审查,处理输入验证、身份验证和会话管理等安全措施,避免常见的编程错误和安全漏洞。

Mac Golang GDB 错误汇总

在 MacOS 上调试 Golang 程序时,遇到 "No symbol table is loaded" 错误可通过特定的构建命令解决。若出现 Mach task port 错误,需要创建代码签名证书并进行相应配置。参考阅读提供了调试 Go 程序的链接。

Go channel close 后再读取会发生什么?

关闭Go通道后仍可读取数据,返回零值并且ok变量只能判断是否有数据可读,而不能判断通道是否关闭。使用range遍历通道时,需确保通道关闭以避免死锁。

查看原图