Go 1.19 已经发布,这些是它的新闻

最近 宣布发布新版本的编程语言«Go 1.19», 通过添加各种改进和最重要的错误修复来改进先前版本的版本。我们可以强调的新奇之处包括内存管理、安全性改进等方面的改进。

对于刚接触 Go 的人来说,你应该知道,这是一种由社区参与开发的编程语言,作为一种混合解决方案,结合了编译语言的高性能和脚本语言等优点,例如易于编写代码、开发和错误保护。

Go 的语法基于 C 语言的常用元素。 从 Python 语言中借用了一些东西。 该语言非常简洁,但代码易于阅读和理解。

Go 代码被编译成单独的二进制可执行文件 本机运行,无需使用虚拟机(分析、调试和其他运行时故障排除子系统作为运行时组件内置)。

Go 1.19的主要新功能

在展示的这个新版本的 Go 1.19 中,强调了 已经完成了改进对函数和泛型类型的支持的工作 在最新版本中添加,借助它,开发人员可以定义和使用旨在同时处理多种类型的函数,此外,一些使用泛型的程序的性能优化提高了 20%。

从新版本中脱颖而出的另一个变化是 添加了对链接、列表和更简单语法的支持 在文档注释中定义标题。 gofmt 实用程序通过 API 文档提供了具有高级注释功能的格式。

除了它 修改了 Go 内存模型以与 C、C++、Java、JavaScript、Rust 和 Swift 保持一致 不允许顺序一致的原子值。 在 sync/atomic 包中引入了 atomic.Int64 和 atomic.Pointer[T] 等新类型,以便更轻松地使用原子值。

另一方面,也有人提到 垃圾收集器现在可以定义软限制,这是通过限制堆的大小和更积极地向系统返回内存来强制执行的,也就是说,不能保证在所有条件下消耗都在指定的限制范围内。 软限制可用于优化在固定内存容器中运行的程序。

还强调了 在 Unix 系统上,自动启用附加文件描述符 (通过增加 RLIMIT_NOFILE 限制),为了加速 x86-64 和 ARM64 系统上的大变化表达式,使用了跳转表,它允许大变化表达式的处理速度提高 20%。

在 riscv64 系统上,实现了通过 CPU 寄存器传递函数参数,这使得性能提高了 10% 左右。

其他变化 从这个新版本中脱颖而出:

  • 已经实施了许多性能优化。
  • 添加了对动态设置例程堆栈大小的支持,以减少复制数据的大小
  • 在具有基于 64 位 LoongArch 架构 (GOARCH=loong64) 的龙芯处理器的系统上添加了对 Linux 环境的实验性支持。
  • 更改内存模型不会影响与以前编写的代码的兼容性。
  • 添加了一个新的“unix”构建限制,可以在“go:build”行中使用以过滤掉类 Unix 系统(aix、android、darwin、dragonfly、freebsd、hurd、illumos、ios、linux、netbsd、openbsd、solaris )。
  • 为了提高安全性,os/exec 模块现在在扩展 PATH 环境变量时会忽略相对路径(例如,在确定可执行文件的路径时,不再检查当前目录)。

最后,如果您有兴趣了解有关此新版本的更多信息,可以在以下位置查看详细信息 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。