Go 1.18 正式发布!

简介: Go 1.18 正式发布!

美国时间 2022 年 3 月 15 日,Go 团队官宣 Go 1.18 正式发布!

Go 团队表示:Go 1.18 是一个包含大量新功能的版本,包括对语言本身做了有史以来最大的改变(泛型)、工具链的实现、运行时和库的更改,还改善了性能。毫不夸张地说,Go 1.18 的部分设计十多年前,在第一次发布 Go 时就开始了构思。

image.png

下面让我们来快速预览一下这些最新特性:

泛型(Generics)

Go 1.18 引入了对使用参数化类型的泛型代码的新支持。支持泛型是 Go 最常被要求添加的功能,后续版本将继续为一些更复杂的泛型用例提供额外支持。

Go 鼓励用户使用泛型教程来了解这一新功能,并探索使用泛型来优化和简化用户的代码的最佳方法。

泛型教程链接:https://go.dev/doc/tutorial/g...

在 Go 1.18 版本发布说明中有更多使用泛型的细节。

模糊测试(Fuzzing)

随着 Go 1.18 版本的发布,Go 成为第一个将模糊测试完全集成到其标准工具链中的主要语言。与泛型一样,模糊测试已经设计了很长时间。

请结合 Fuzzing 教程开始使用此新功能。

模糊测试教程链接:https://go.dev/doc/tutorial/fuzz

工作区(Workspaces)

如今 Go 模块几乎已被普遍采用,在 Go 年度调查中,用户表达了非常高的满意度。在2021 年用户调查中,用户反馈 Go 模块最常见的挑战是跨多个模块工作。

在 Go 1.18 中,通过使用新的 Go 工作区模式解决了这个问题,这使得在多个模块中工作变得简单。

工作区教程链接: https://go.dev/doc/tutorial/w...

20% 的性能提升

苹果 M1、ARM64 和 PowerPC64 用户肯定会高兴!由于 Go 1.17 的寄存器 ABI 调用约定扩展到这些架构,Go 1.18 的 CPU 性能提升幅度高达 20%。

为了强调这个版本的性能提升幅度有多大,Go 甚至把 20% 的性能提升作为第四个最重要的标题!

更多有关 Go 1.18 的详细内容说明,请查看:https://go.dev/doc/go1.18

下载链接:https://go.dev/dl/

go

相关文章
|
1月前
|
监控 Go 微服务
使用 ServiceWeaver 构建 go 服务
使用 ServiceWeaver 构建 go 服务
|
1月前
|
算法 搜索推荐 Unix
快速指南: Go 1.19功能
快速指南: Go 1.19功能
YI
|
缓存 IDE 算法
Go学习笔记01|Go项目的创建与运行
Go学习笔记01|Go项目的创建与运行
YI
439 0
|
编译器 Go
go01 简介和准备
go01 简介和准备
100 0
|
Prometheus 监控 Cloud Native
Go:Promethus Eexporter开发,一篇带你玩妥它。
Go:Promethus Eexporter开发,一篇带你玩妥它。
|
安全 Go C++
工作中用Go: Go基础
工作中用Go: Go基础
173 0
工作中用Go: Go基础
|
存储 监控 安全
Go 入门很简单:如何在 Go 中使用日志包
在我们的日常编程中,日志很重要。只要是我们写代码,就有可能出现 Bug。日志文件就是一种快速找到这些 bug,更好地了解程序工作状态的方法。
Go 入门很简单:如何在 Go 中使用日志包
|
Java 编译器 Go
【Go学习笔记】(一)通过go-by-example学Go
前言 从今天开始,打算正式入坑Go,并计划以一周为周期,初步熟悉Go语言特性、基础语法等。吸取了前面学习的教训,这次打算通过阅读分析现成代码、主动思考和探索来学习。
107 0
|
Go C++ Python
【Go学习笔记】通过go-by-example学Go(二)
string string的常用函数,其中的Replace()表达给我印象比较深刻,n为-1表示全部替换 strconv Atoi()在这里指的不是ASCII对应字符转int,而是字符串转int
93 0
|
Kubernetes IDE Java
「Go学习笔记」1.初识Go
由于在公司广泛使用Docker的大环境下,突然对它的编程语言(Go)了解下。并且感觉现在Go语言的应用也是越来越广泛,很多互联网大厂都在使用,目前利用业余时间来学习下,主流还是Java,学明白以后可能考虑转哦🤡。如果你也感兴趣不如一起来学习。
224 0