Go 14周年

这篇具有很好参考价值的文章主要介绍了Go 14周年。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文在这里。

由 Russ Cox, for the Go team 发布于2023年11月10日

今天,我们庆祝Go开源发布的第十四个生日!Go在过去一年里取得了巨大的进展,发布了两个功能丰富的版本,并实现了其他重要的里程碑。

我们发布了Go 1.20 in February和Go 1.21 in August,主要侧重于实现改进而非引入新的语言变化。

Go 1.20中预览的Profile-guided optimization(PGO)在Go 1.21中正式发布,允许Go编译器读取程序的性能分析数据,然后花更多时间优化程序中运行频率最高的部分。在Go 1.21中,启用PGO通常可以提升2%到7%的CPU利用率。有关概述,请参阅“Go 1.21中的Profile-guided optimization”,有关完整文档,请参阅“Profile-guided optimization用户指南”。

自Go 1.2版本以来,Go一直支持在go test期间收集覆盖率分析数据。而Go 1.20版本新增了在通过go build构建的可执行文件中收集覆盖率分析数据的支持,这意味着你可以在更大规模的集成测试中进行覆盖率分析。有关详细信息,请参阅“Go集成测试的代码覆盖率”文章。

自从“Go 1和Go程序的未来”以来,兼容性一直是Go的重要组成部分。Go 1.21通过扩展GODEBUG的使用约定进一步提高了兼容性,特别是在需要进行更改(例如重要的错误修复),但这种更改可能会破坏现有程序的情况下。有关概述,请参阅博文“向后兼容性,Go 1.21和Go 2”,有关详细信息,请参阅文档“Go、向后兼容性和GODEBUG”。

Go 1.21还引入了内置的工具链管理支持,允许您像更改其他依赖项的版本一样轻松地更改特定模块中使用的Go工具链版本。有关概述,请参阅博文“Go 1.21中的向前兼容性和工具链管理”,有关详细信息,请参阅文档“Go工具链”。

另一个重要的工具成就是将磁盘索引集成到gopls,即Go的LSP服务器。这在典型用例中将gopls的启动延迟和内存使用降低了3-5倍。有关技术细节,请参阅“为不断增长的Go生态系统扩展gopls”文章。您可以通过运行以下命令来确保您正在运行最新版本的gopls:

$ go install golang.org/x/tools/gopls@latest

Go 1.21引入了新的cmp、maps和slices包,这是Go的第一个通用标准库,同时也扩展了可比较类型的集合。有关详细信息,请参阅博文“所有可比较类型”。

总的来说,我们继续完善泛型,并通过演讲和博客文章来解释重要的细节。今年的两篇重要文章分别是“拆解类型参数”和“关于类型推断,你想知道的都在这里”。

Go 1.21中的另一个重要新包是log/slog,它为标准库添加了用于结构化日志记录的官方API。请参阅“使用slog进行结构化日志记录”以获取概述。

对于WebAssembly(Wasm)端口,Go 1.21支持在WebAssembly System Interface(WASI)预览1上运行。WASI预览1是WebAssembly的一个新“操作系统”接口,受到大多数服务器端Wasm环境的支持。请查看“Go中的WASI支持”以获取详细信息。

在安全方面,我们继续确保Go引领着帮助开发人员了解其依赖关系和漏洞的道路,Govulncheck 1.0于7月发布。如果您使用VS Code,可以使用Go扩展直接在编辑器中运行govulncheck,详细配置参见这个教程。如果您使用GitHub,您可以使用GitHub Action for govulncheck在CI/CD中运行govulncheck。有关检查漏洞问题的依赖关系的更多信息,请参阅今年的Google I/O演讲“使用Go和Google构建更安全的应用程序”。

另一个重要的安全里程碑是Go 1.21的高度可复制的工具链构建。有关详细信息,请参阅“完全可重现的验证Go工具链”,其中包括在无需使用任何Linux工具情况下,在Mac上复制Ubuntu Linux Go工具链的演示。

今年真的是硕果累累!!!

在接下来的第15年,我们将继续努力使Go成为规模化软件工程的最佳环境。我们特别兴奋的一项变化是重新定义for循环的:=语义,以消除意外别名错误的可能性。有关详细信息,请参阅“在Go 1.22中修复for循环”文章,其中包括在Go 1.21中预览此更改的说明。

致谢

Go项目一直不仅仅是我们在Google Go团队的工作。感谢所有的贡献者和Go社区的每一位成员,使Go成为今天的样子。我们祝愿大家在未来的一年里一切顺利。


Go 14周年

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin
blog: mengbin
Github: mengbin92
cnblogs: 恋水无意文章来源地址https://www.toymoban.com/news/detail-746085.html


到了这里,关于Go 14周年的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生周刊:Linkerd 发布 v2.14 | 2023.9.4

    Layerform Layerform 是一个 Terraform 包装器,可帮助工程师使用纯 Terraform 文件构建可重用的基础设施。 为了实现重用,Layerform 引入了层的概念。每层都包含一些基础设施,并且可以堆叠在另一层之上。 除了更易于使用之外,Layerform 还允许团队重用基础设施的核心部分。这样,开

    2024年02月10日
    浏览(10)
  • 2023美赛春季赛_赛题原文及翻译

    目录 Problem Y: Understanding Used Sailboat Prices Y题翻译: Problem Z: The Future of the Olympics Z题翻译: ​Like many luxury goods, sailboats vary in value as they age and as market conditions change. The attached “2023_MCM_Problem_Y_Boats.xlsx” file includes data on approximately 3500 sailboats from 36 to 56 feet long advertised for sale i

    2023年04月10日
    浏览(9)
  • MIUI14+安卓13 Root教程 小米10 小米11 小米12 小米13 红米

    1. 确保手机已完成 BL 解锁。这里来申请解锁 2. 手机下载并且安装Magisk 下载地址 3. 去下载当前版本刷机包 小米 10 (umi) 国行版 线刷、卡刷包 ​ 网页上ctrl+f 搜索 miui14,直接找到最新版,目前版本是: ​ V14.0.2.0.TJBCNXM MIUI14 13.0 ​ miui_UMI_V14.0.2.0.TJBCNXM_6d38dfc521_13.0.zip | 下载 4.把

    2023年04月16日
    浏览(17)
  • 定档11月2日,YashanDB 2023年度发布会即将启航

    数据库作为支撑核心业务的关键技术,对数字经济的发展有着重要的支撑作用,随着云计算、AI等技术的迅猛发展和数据量的爆发式增长,推动着数据库技术的加速创新。 为了应对用户日益复杂的数据管理需求,赋能行业国产化建设和数字化转型,深圳计算科学研究院(简称

    2024年02月08日
    浏览(14)
  • Google I/O 2023 - Flutter 3.10 发布

    核心部分原文链接:https://medium.com/flutter/whats-new-in-flutter-3-10-b21db2c38c73 Flutter 3.10 主要包括有对 Web、mobile、graphics、安全性等方面的相关改进,核心其实就是: iOS 默认使用了 Impeller 一堆新的 Material 3 控件袭来 iOS 新能优化,Android 顺带可有可无的更新 Web 可以无 iframe 嵌套到其

    2024年02月04日
    浏览(33)
  • 超详细-自动化测试从选型到落地,2023年我从10k涨到了18k*14薪...

    Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/ 我们先来说一下现在自动化测试主要的几个方向(以python语言为主): 接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins; web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins; app自动化测试方向:Python+appium+POM+pyt

    2024年02月03日
    浏览(13)
  • 华硕ROG幻14 2023 GA402X原装Windows11预装系统 工厂模式恢复安装带ASUSRecevory一键还原

    华硕ROG幻14 2023 GA402X原装Windows11预装系统 工厂模式恢复安装带ASUSRecevory一键还原 安装还原方法 第一步:需要拥有文件格式为6个底包的文件第二步:创建系统u盘引导分区和存储 第三步:复制文件到u盘之后,启动华硕工厂模式 第四步:按照文件夹提示添加文件包,进行安装

    2024年02月16日
    浏览(40)
  • 如何关闭iPhone 14或14 Pro Max,这里有详细步骤

    你刚买了新的iphone 14或iphone 14 pro max,迫不及待地想开始使用它。但如果你需要关闭它怎么办?有几种方法可以用来关闭这两种设备。 你可以通过每个人都熟悉的老式侧按钮轻松关闭iPhone 14,也可以通过面部识别关闭它。 这是许多iOS用户喜欢使用的最流行的方法。原因是因为

    2024年01月22日
    浏览(21)
  • Google I/O 2023 - Flutter 3.10 发布,快来看看有什么更新吧

    核心部分原文链接:https://medium.com/flutter/whats-new-in-flutter-3-10-b21db2c38c73 虽然本次 I/O 的核心 keynote 主要是 AI ,但是按照惯例依然发布了新的 Flutter 稳定版,不过并非大家猜测的 4.0,而是 3.10 ,Flutter 的版本号依然那么的出人意料。 Flutter 3.10 主要包括有对 Web、mobile、graphics、

    2024年02月04日
    浏览(21)
  • 2023年完美解决:windows 11/win 11使用经典右键菜单(win10版右键菜单)

    下载安装会吧:https://www.autohotkey.com 1. 桌面新建一个txt,就是文本文档。然后把以下代码复制到里面去。 解释一下: #IfWinActive ahk_exe explorer.exe 如果资源管理器(explorer.exe)处于激活状态 RButton:: Send {LShift down}{RButton}{LShift up} 点击鼠标右键时,发送快捷键:shift + 右键 2、改名

    2024年02月06日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包