0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Go开源13周年 2022发布更多改变的Go 1.18 和 Go 1.19版本

OSC开源社区 来源: OSC开源社区 作者: OSC开源社区 2022-11-17 16:37 次阅读

Go 语言开发团队技术 leader Russ Cox 在博客中庆祝 Go 开源 13 周年。2009 年 11 月 10 日,Go 作为开源项目正式宣布推出,目前已开源 13 周年。

b0b27c30-61c7-11ed-8abf-dac502259ad0.png

对于 Go 来说,2022 是非常重要的一年,这一年Go发布了Go 1.18和Go 1.19版本,下面回顾一下今年 Go 发布的新功能:

Go 1.18 为语言本身带来了一项重大功能:泛型,其次还有 Go 工作区、模糊测试等重要功能。

泛型是社区呼声最大的特性,也是今年 Go 最重大的特性,它为 Go 添加了参数多态性,以允许编写适用于各种不同类型但仍在编译时进行静态检查的代码。

要了解有关泛型的更多信息,请参阅教程 “泛型入门”:https://go.dev/doc/tutorial/generics

Fuzzing (模糊测试),是一种自动化测试技术。它随机生成测试数据,来验证代码的功能是否可用。比如先定义一个可通过任何输入的 fuzz 测试,接着尝试不同的随机输入,尝试使该模糊测试失败。

了解有关 fuzzing 的更多信息,请参阅教程 “开始使用 fuzzing”(https://go.dev/doc/tutorial/fuzz) 和fuzzing 参考(https://go.dev/security/fuzz/)。

Go 工作空间功能,使同时处理多个模块变得容易,在维护一组具有模块依赖关系的相关模块时非常有用。

要了解工作空间,请参阅 Beth Brown 的博客文章 “熟悉工作空间” (https://go.dev/blog/get-familiar-with-workspaces)和工作空间参考(https://go.dev/ref/mod#workspaces)。

与 Go 1.18 相比,Go 1.19 版本相对平静:它专注于完善和改进 Go 1.18 引入的功能,以及内部稳定性改进和优化,较为重要的:

在 Go 文档注释中增加了对链接、列表和标题的支持。

为垃圾收集器添加了软内存限制,这在容器工作负载中特别有用。

此外, Go 团队今年还发布了 VS Code Go扩展,为 VS Code 编辑器的 Go 代码提供了丰富的语言支持。Gopls 语言服务器也得到了性能优化。

在安全方面,Go 有一个新的的漏洞数据库和一个新的 govulncheck 命令,让 Go 开发者能够了解可能影响其项目的已知漏洞。

在 Go 的第 14 个年头,Russ 表示团队将继续努力,使 Go 成为大规模软件工程的最佳环境。目前的计划是特别关注供应链安全、改进的兼容性和结构化日志记录,此外还会有其他改进,包括配置文件引导优化等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3248

    浏览量

    42402

原文标题:Go开源13周年,今年获有史以来最大改变

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NVIDIA GeForce 256发布25周年

    适逢 NVIDIA GeForce 256 发布 25 周年之际,我们共同庆祝它在游戏领域的突破,这一突破改变了娱乐方式,并为 AI 驱动的未来奠定了基础。
    的头像 发表于 11-19 16:05 156次阅读

    在学习go语言的过程踩过的坑

    作为一个5的phper,这两公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021到现在,笔者手上也先后开发了两个go
    的头像 发表于 11-11 09:22 109次阅读

    go语言如何解决并发问题

    GO快很多。现在工作中也还是有一些老项目在使用PHP,但21之后的新项目基本上就都是用GO了。那为什么PHP那么香,还要转战使用GO呢,下面就给大家讲解一下我们新项目从PHP转
    的头像 发表于 10-23 13:38 107次阅读
    <b class='flag-5'>go</b>语言如何解决并发问题

    三十分钟入门基础Go Java小子版

    前言 Go语言定义 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态、强类型、编译型语言。Go 语言
    的头像 发表于 08-12 14:32 673次阅读
    三十分钟入门基础<b class='flag-5'>Go</b> Java小子版

    求助,关于PSoC4000S POWER_DRILL2GO下降压摆率的疑问求解

    我不确定来自哪个版本,但数据表中列出了 PSoC4000S POWER_DRILL2GO下降压摆率。(1V/ms 最小,最大 67V/ms) 目前的设计并不能满足这个要求
    发表于 05-21 08:14

    请问STVP+COSMIC环境下的go to definition怎么用?

    STVP+COSMIC环境下的go to definition怎么用? 我现在go to definition在一个宏定义的时候有效果,但是函数什么的没用,是怎么回事呢,是不是工程里面没有设置好,求大家帮帮忙?
    发表于 05-11 06:11

    为什么无法使用STVD右键跳转到Go to definition of功能?

    我的STVD右键跳转到 Go to definition of xx功能不能用 跳转不过去 是怎么回事 找函数好麻烦
    发表于 05-08 08:28

    关于go中接口类型的表示方法

    go是一个静态性语言,每个变量都有静态的类型,因此每个变量在编译阶段中有明确的变量类型,比如像:int、float32、MyType。
    的头像 发表于 04-28 10:13 334次阅读

    使用Docker部署Go Web应用程序步骤

    大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版和配置文件。而当一个项目中有很多文件的时候,由于很多文件没有同步就会导致错误的发生并且产生很多的问题。
    发表于 04-20 09:33 475次阅读
    使用Docker部署<b class='flag-5'>Go</b> Web应用程序步骤

    在CYT4BF中从Deepsleep转换到Active时,POWER_DRILL2GO的稳定时间是多少?

    我想知道 CYT4BF 中从 DeepSleep 转换到 Active 时核心POWER_DRILL2GO稳定时间。 我根据数据表中的时钟检查了POWER_DRILL2GO模式转换时间。 并且在
    发表于 03-06 07:58

    PMG1 PoR复位时POWER_DRILL2GO什么时候进入?

    我有两个关于 PMG1 PoR 的问题。 1.复位时POWER_DRILL2GO什么时候进入? 也许您想在电压低于预设值时强制 EZ-PD™ PMG1-S1 MCU 设备复位
    发表于 03-06 06:03

    Arduino IDE中是否有与Xmc2Go兼容的LoRaWAN库?

    我想问一下 Arduino IDE 中是否有与 Xmc2Go 兼容的 LoRaWAN 库? 我正在尝试使用连接到 Xmc2Go 的 RFM95W Lora 模块通过 LoRaWAN 将数据传输
    发表于 02-27 06:05

    MiniProg4在POWER_DRILL2GO周期后失去与PC的连接的原因?

    POWER_DRILL2GO 的外部POWER_DRILL2GO PSoC™电源。问题是当我 POWER_DRILL2GO 循环 PSoC™时,与 MiniProg4 的连接丢失,我需要重新启动 PC 才能
    发表于 01-19 07:55

    请问复制BSP的文件为何无法go def跳转是灰色?

    请问复制BSP的文件为何无法go def跳转是灰色 路径并无中文,也无数字开头。。。 请大家看看是为何
    发表于 01-15 07:51

    Go配置TM 软件中心用户指南

    电子发烧友网站提供《Go配置TM 软件中心用户指南.pdf》资料免费下载
    发表于 01-03 09:48 0次下载
    <b class='flag-5'>Go</b>配置TM 软件中心用户指南