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

相关文章
|
人工智能 监控 安全
什么是网络即服务 (NaaS)?
我们经常听到云计算领域中有IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务),但是你知道吗?在网络领域也有一种术语叫做NaaS(网络即服务),本文瑞哥就带大家揭开NaaS的神秘面纱,让我们直接开始!
4765 0
什么是网络即服务 (NaaS)?
|
2月前
|
存储 人工智能 弹性计算
阿里云新用户、老用户与企业用户定义及优惠活动政策解析
本文系统梳理阿里云新用户、老用户及企业用户的定义标准,深度解析“免费试用+首购特惠+续费同价+企业专项补贴”等差异化优惠政策,并提供实操避坑指南,助力用户精准选配、降本增效。
429 2
|
机器学习/深度学习 自然语言处理 算法
《深度解析:批量、随机和小批量梯度下降的区别与应用》
梯度下降算法是优化模型参数的核心工具,包括批量梯度下降(BGD)、随机梯度下降(SGD)和小批量梯度下降(MBGD)。BGD使用全部数据计算梯度,收敛稳定但计算量大;SGD每次仅用一个样本,更新快但波动大;MBGD则取两者折中,使用小批量样本,兼具稳定性和效率。选择合适的变体需考虑数据规模、计算资源及精度要求。
1066 1
|
Java 程序员 API
写给开发者的英文文档和注释标准实操
程序员常面临注释语言选择难题:中文不兼容、英文怕写错。本文系统讲解为何要用英语写注释、常用词汇句式、单/多行注释规范、文档结构及常见错误,助你提升代码可读性与职业竞争力,轻松写出专业级英文注释。
|
小程序 API 开发工具
支付宝支付对接案例详解
支付宝支付对接指南,涵盖电脑网站、当面付和手机网站支付方式。对接前需了解支付宝开放平台和商家平台的区别,完成注册、实名认证、创建应用及签约产品等步骤。配置支付环境包括API密钥、回调地址和开发环境搭建。提供三种SDK供选择,推荐使用alipay-easysdk。详细步骤和示例代码可参考官方文档。
1949 15
|
存储 人工智能 缓存
面向AI的存储软硬结合实践和创新
本次分享的主题是面向AI的存储软硬结合实践和创新,由阿里云智能集团专家袁茂军、王正勇和常存银主讲。内容涵盖三大板块:自研存储部件设计及实践、自研存储服务器设计及实践、以及面向AI场景的存储软硬一体解决方案及实践。重点介绍AliFlash系列存储部件的演进与优化,包括QLC SSD的设计挑战与解决方案,并探讨了高性能存储服务器在AI场景中的应用与未来发展方向。通过软硬件深度融合,旨在提升AI业务的性能与效率,降低总拥有成本(TCO)。
1214 7
|
人工智能 自然语言处理 算法
ICLR 2024 Spotlight:DyVal——首个大语言模型的动态测试评测协议
【2月更文挑战第28天】ICLR 2024 Spotlight:DyVal——首个大语言模型的动态测试评测协议
552 1
ICLR 2024 Spotlight:DyVal——首个大语言模型的动态测试评测协议
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
672 4
|
自然语言处理 机器人 API
GPT学术优化 (GPT Academic):支持一键润色、一键中英互译、一键代码解释、chat分析报告生成、PDF论文全文翻译功能、互联网信息聚合+GPT等等
GPT学术优化 (GPT Academic):支持一键润色、一键中英互译、一键代码解释、chat分析报告生成、PDF论文全文翻译功能、互联网信息聚合+GPT等等
|
前端开发
成功解决:如何使element中输入框颜色改变,以及如何解决使用/deep/ 出现警告信息问题
这篇文章讲述了如何在Element UI中改变输入框的背景颜色,以及如何解决使用深度选择器`/deep/`时出现的警告信息问题。文章提供了使用深度选择器修改背景颜色的CSS代码示例,展示了修改效果,并解释了如何通过在`/deep/`前加`div`或使用`::v-deep`来解决出现的红色波浪线警告问题。
成功解决:如何使element中输入框颜色改变,以及如何解决使用/deep/ 出现警告信息问题