Golang:1.19版的改进

Golang:1.19版的改进

  • 2022.8.8日
  • 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

Go 1.19 是 Google 的 Go (Golang) 编程语言的最新版本,现已正式发布。该版本更新改进了最近添加的泛型,并推出了增强的内存模型。

在前几天(8月2日)发布的 Go 1.19 中,泛型(generics)开发专注于解决社区报告的微妙问题和极端案例(corner cases)以及性能改进(在某些泛型程序中性能提升高达 20%)。

与此同时,Go 内存模型(memory model)现在明确定义了 sync/atomic 包的行为,为实现同步算法提供了底层原子内存原语(low-level atomic memory primitives)。之前相关的正式定义已经得到修改,以与 C、C++、Java、JavaScript、Rust 和 Swift 使用的内存模型保持一致。现有程序不受影响。除了内存模型更新之外,sync/atomic 包中还添加了新的类型,例如 atomic.int64 和 atomic.Pointer(T),使得原子值的使用更加容易。

Golang 官方为国内提供的下载点又增加了一个:

下载站点提供了适用于 Windows、macOS 和 Linux 的 Go 1.19。

Go 1.19 中的其他特性:

  1. 已向垃圾收集器添加了软内存限制(soft memmory limit)。该限制有助于优化 Go 程序,使其在具有专用内存量的容器中尽可能高效地运行。
  2. 性能和实现的改进包括协程栈(coroutinue stacks)的动态大小以减少栈版权保护(copyrighting)、在大多数 Unix 系统上自动使用附加文件描述符(additional file descriptors)、在 x86-64 和 ARM64 上用于大型 switch 语句的跳转表(jump tables),以及支持 ARM64 上注入函数调用的调试器。
  3. 对方法声明中的类型参数(type parameters)进行了小的更正(small correction)。现有程序不受影响。
  4. 文档注释现在支持链接、列表和标题语法,以帮助用户编写更清晰的文档注释,尤其是在具有大型 API 的包中。
  5. 为了安全起见,os/exec 包不再遵循 PATH 查找中的相对路径。
  6. 一个新的构建约束 unix,当目标操作系统是任何类 Unix 操作系统时满足此约束条件。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值