暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Golang 1.21引入了内置函数和基于配置文件的优化

云原生数据库 2023-08-11
326
Go编程语言的最新更新是Go 1.21,现已作为正式版本发布。这个新版本引入了对WASI(WebAssembly System Interface)的实验性支持。新版本还添加了内置函数`min`、`max`和`clear`,并将基于配置文件的优化(PGO)功能普遍可用。此外,还强调了对WebAssembly的支持。`min`和`max`函数分别计算一组固定参数或有序类型的最小值或最大值。至少需要一个参数。`clear`函数接受一个map、slice或类型参数类型的参数,并删除或将所有元素清零。Go 1.21于8月8日发布,可以从项目网站下载。这个正式版本是在6月21日发布的候选版本的基础上发布的。
Go 1.21承诺提供额外的性能改进。调整垃圾收集器可能导致一些应用程序的尾延迟降低高达40%,而使用runtime/trace收集跟踪信息在AMD64和Arm64系统上的CPU成本大大降低。
Go 1.21的其他改进包括:
  • 预览了一个实验性的WASI(WebAssembly System Interface)端口。为了帮助编写更通用的WebAssembly代码,编译器还支持从Wasm主机导入函数的新指令`wasmimport`。 

  • 标准库新增了一个用于结构化日志记录的`log/slog`包。还提供了一个新的`slices`包,用于对任何元素类型的切片进行常见操作。这包括一些通常比`sort`包更快且更符合人体工程学的排序函数。 

  • 标准库还新增了一个用于对任何键或元素类型的映射进行常见操作的`maps`包。一个新的`cmp`包包含了比较有序值的新实用工具。

  • `go`工具现在支持向后和向前的语言兼容性。

  • 对泛型函数的类型推断进行了改进。在规范中扩展和澄清了类型推断的描述。 

  • 未来的Go版本将解决一种常见的语言“陷阱”:循环变量捕获。Go 1.21预览了这个功能,可以通过环境变量在代码中启用。

     

以上是关于Go 1.21的一些改进和新功能的介绍。


文章转载自云原生数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论