当前位置: 首页 > web >正文

Go 1.24 is released(翻译)

文章目录

  • 语言变更
  • 性能改进
  • 工具改进
  • 标准库添加
  • 改进的 WebAssembly 支持
  • 参考文献

Junyang Shao,代表 Go 团队。

2025年2月11日

今天,Go 团队很高兴发布 Go 1.24,您可以通过访问下载页面获取。

Go 1.24 与 Go 1.23 相比有许多改进。以下是一些显著的变化;完整列表请参阅发行说明。

语言变更

Go 1.24 现在完全支持泛型类型别名:类型别名可以像定义类型一样进行参数化。详情请参阅语言规范。

性能改进

运行时中的多项性能改进已在一系列代表性基准测试中将 CPU 开销平均降低了 2-3%。这些改进包括 map 基于 Swiss Tables 的新内置实现、更高效的小对象内存分配,以及新的运行时内部互斥锁实现。

工具改进

  • go 命令现在提供了一种跟踪模块工具依赖关系的机制。使用 go get -tool 向当前模块添加 tool 指令。使用 go tool [tool name]运行 tool 指令声明的工具。有关 go command 的更多信息,请参阅发行说明。

  • go vet 子命令中新增的 test 分析器,用于报告测试包中测试、模糊测试器、基准测试和示例声明中的常见错误。请参阅发行说明,了解更多关于 vet 的信息。

标准库添加

  • 标准库现在包含一套新的机制,以促进 FIPS 140-3 合规性。应用程序无需更改源代码即可使用新机制来支持已获批准的算法。有关 FIPS 140-3 合规性 的更多信息,请参阅发行说明。除 FIPS 140 外,之前 x/crypto 模块中的几个软件包现在也已包含在标准库中。
  • 基准测试现在可以使用速度更快、错误更少的 testing.B.Loop 方法来执行基准迭代,例如 for b.Loop() { ... },而不是像for range b.N 使用典型的循环结构。请参阅发行说明,了解更多关于新基准测试函数的信息。
  • 新 os.Root 类型提供了在特定目录下执行隔离文件系统操作的能力。有关 filesystem access 的更多信息,请参阅发行说明。
  • 运行时提供了一种新的终止机制,runtime.AddCleanup 它比 runtime.SetFinalizer 更灵活、更高效、更不易出错 。请参阅发行说明了解更多关于 cleanups 的信息。

改进的 WebAssembly 支持

Go 1.24 为 Go 程序添加了一条新指令 go:wasmexport,用于将函数导出到 WebAssembly 宿主机,并支持将 Go 程序构建为 WASI reactor/library。有关 WebAssembly 的更多信息,请参阅发行说明。


请阅读 Go 1.24 发行说明,了解完整详细的信息。别忘了关注后续博客文章,它们将更深入地探讨这里提到的一些主题!

感谢所有为此版本做出贡献的开发者,他们编写了代码和文档,报告了错误,分享了反馈,并测试了候选版本。你们的努力确保了 Go 1.24 尽可能的稳定。与往常一样,如果您发现任何问题,请提交问题。

Enjoy Go 1.24!

Next article: Extensible Wasm Applications with Go
Previous article: Go Developer Survey 2024 H2 Results
Blog Index


参考文献

Go 1.24 is released!

http://www.xdnf.cn/news/2657.html

相关文章:

  • 30天通过软考高项-第六天
  • Ubuntu18.04安装IntelliJ IDEA2025步骤
  • 鸿蒙 长列表加载性能优化
  • 全面解析DeepSeek算法细节(2) —— 多令牌预测(Multi Token Prediction)
  • 【UserDetailsService】
  • Axios 传参与 Spring Boot 接收参数完全指南
  • 对VTK中的Volume Data体数据进行二维图像处理
  • JVM 自动内存管理
  • 推荐一个微软官方开源浏览器自动化工具,可以用于UI自动化测试、爬虫等,具备.Net、Java、Python等多个版本!
  • 搭建 Spark YARN 模式集群指南
  • 服务器硬件老化导致性能下降的排查与优化
  • 并发设计模式实战系列(8):Active Object
  • Axure疑难杂症:利用中继器制作三级下拉菜单(逻辑判断进阶)
  • CSS 预处理器与模块化:Sass/LESS 实战技巧
  • 基于 Spring Boot 瑞吉外卖系统开发(九)
  • 数据结构之顺序表
  • 【iOS】OC源码阅读——alloc源码分析
  • uni-app(vue3)动态获取swiper的区域高度以及通过scroll-view实现区域滚动和scroll-view的置顶功能
  • LangChain入门(二)安装开发环境
  • 【论文复现】SmoothQuant的安装与使用
  • (云计算HCIP)HCIP全笔记(十三)本篇介绍虚拟化技术,内容包含:虚拟化资源、虚拟化过程、I/O虚拟化、虚拟化架构KVM和Xen介绍、主流虚拟化技术介绍
  • 亚马逊云科技2025战略解析:AI驱动下的全球生态重塑
  • 链表相关——Python实现
  • 【Rust通用集合类型】Rust向量Vector、String、HashMap原理解析与应用实战
  • 使用 MQTT - C 访问 IoTDA 平台:一个完整的嵌入式示例
  • Java面试场景深度解析
  • 排序--数据结构初阶(4)(C/C++)
  • QT开发技术【qcustomplot 曲线与鼠标十字功能】
  • 【C++ Qt】快速上手 显⽰类控件(Label、LCDNumber、ProcessBar、CalendarWidget)
  • Java项目技术栈使用场景深度解析