2023-08-11 11:40
IT之家
,谷歌于今天为编程语言 Go 发布了全新的 1.21 版本,该版本大部分变化集中在工具链、运行时和库的实现,谷歌此前表示,Go 语言将在 1.21 版本取消对旧版微软 Windows 和苹果 macOS 系统的支持。
IT之家附 Go 1.21 主要更新内容如下:
改进工具链
配置文件引导优化 功能正式进入稳定阶段(GA)。
在 1.20 中处于预览阶段的启用配置文件引导优化 功能现已正式进入稳定阶段,PGO 的原理是“编译器使用程序的运行时 profiling 信息,因此能够生成更高质量的代码,从而提高程序的性能”。如果主软件包目录中存在名为default.pgo的文件,go命令将使用该 default.pgo 文件来启用 PGO 构建。
语言变更
添加新的内置函数:
min,max,clear
对泛型函数的类型推断进行了多项改进,包括“扩展和解释清楚规范”中类型推断的描述。
在未来版本中,开发团队计划解决 Go 编程中最常见的“循环变量捕获”问题,开发团队目前已经在 Go 1.21 中提供了“预览版”解决方案,目前用户可以使用“环境变量”在代码中启用该功能。
添加新的标准库
log / slog 包:用于结构化日志记;
slices 包:增用于对任何元素类型的切片进行常见操作,这个包比 sort 包更快、更符合人体工程学;
maps 包:用于对任何类型 key-value 进行常见操作;
cmp 包:用于比较有序值 。
Go 编译器本身已经在 1.21 就 PGO 进行了重建,因此当下构建 Go 程序的速度提高了 2-4%,不过官方表示,具体的优化效率将取决于主机架构。
支持 WASI
Go 1.21 已实验性支持WebAssembly System Interface ,Preview 1。
为了方便编写更通用的 WebAssembly 代码,编译器还支持从 WASM 主机导入函数的新指令:
go:wasmimport
广告声明:文内含有的对外跳转链接,用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。
免责声明:该文章系本站转载,旨在为读者提供更多信息资讯。所涉内容不构成投资、消费建议,仅供读者参考。