元宵佳节快乐!
Go 团队正式发布了 Go 1.24!大家可前往 https://studygolang.com/dl 下载 Go 1.24.0 版本。
Go官方博客也同步发布了相关消息。
相较于 Go 1.23,这个新版本在诸多方面都实现了显著提升,下面为大家详细介绍一些主要的变化。
1. 语言层面的革新:
Go 1.24 全面支持泛型类型别名,这意味着可以像定义普通类型那样,对类型别名进行参数化操作。若想深入了解具体细节,可查阅语言规范。
2. 性能优化升级:
在运行时,Go 1.24 实现了多项性能优化,平均降低了 2 - 3% 的 CPU 开销。主要的优化点包括: - 采用基于Swiss Tables的全新内置map实现;
- 优化小对象内存分配机制,提升分配效率;
- 运行时内部互斥实现得到更新 。
此外,go命令现在支持工具依赖关系跟踪,通过执行go get -tool即可添加tool指令。同时,go vet中新的test分析器能够检测测试包中的常见错误,助力开发者更高效地编写代码。
3. 标准库功能拓展:
Go 1.24为标准库带来了一系列新功能。新增了一套机制,用于促进FIPS 140 - 3合规性,开发者无需更改源代码,就能使用批准的算法。 基准测试现在可以使用更快、更安全的 testing.B.Loop 方法。新的 os.Root 类型允许在特定目录下执行文件系统操作,进一步增强了隔离性。运行时的新终结机制 runtime.AddCleanup ,提供了更高效、灵活的清理方式。
4. WebAssembly支持增强:
Go 1.24引入了新的go:wasmexport指令,借助这一指令,Go程序能够将功能导出到WebAssembly主机,并且支持构建为WASI反应器/库。
有疑问加站长微信联系(非本文作者)
