Go 开源 12 周年:新域名 go.dev 启用|Russ Cox 发文庆贺

小霞
• 阅读 3583

自 2009 年 11 月正式对外发布后,至今 Go 开源已走过整整 12 个年头。刚刚,Go 开发团队技术 leader Russ Cox 就专门撰文庆祝 “Go 开源 12 周年”。

Go 开源 12 周年:新域名 go.dev 启用|Russ Cox 发文庆贺

在这篇博客文章中,Russ Cox 对 Go 开源今年以来的变化及所取得进展做了回顾,并对下一阶段的发展进行了展望。

Russ Cox 提到了将 godoc.org 替换成 pkg.go.dev,以及新域名 go.dev 的启用,可将所有官方 Go 站点整合至统一域名下。

今年 2 月,Go 1.16 版本添加了对 macOS ARM64 的支持,以及文件系统接口和嵌入文件、默认启用 modules 等多项改进优化。

今年 8 月,Go 1.17 版本添加了对 Windows ARM64 的支持,大大提升了 TLS 密码套件决策的易用性和安全性;修剪模块图 (pruned module graphs)及全新易读的构建约束语法的引入,让 Go Modules 在大型项目中更高效。Go 1.17 版本还在底层上将 x86-64 的 Go 函数切换至基于寄存器的调用约定, 让 CPU 密集型应用程序的性能提高了 5-15%。

此外,IDE 方面也支持在 VS Code Go 中默认启用 gopls, 同时还为 gopls 和 VS Code Go 提供多项改进,包括由 Delve 提供支持的强大调试体验。

除了添加模糊测试支持的新提案,今年还正式提议向 Go 添加泛型,并明确将在 Go 1.18 中提供。

Go 开源 12 周年:新域名 go.dev 启用|Russ Cox 发文庆贺

据了解,10 月初,“Go 语言之父” Rob Pike 曾在 Github 上撰文称“不建议在 Go 1.18 的标准库中使用泛型”的issue。而到了 10 月 28 日,Russ Cox 又发文终于明确了“ Go 1.18 版本中将支持泛型”的信息。

对此,Russ Cox 在此次博文中表示,完善泛型将是 Go 团队明年的重点工作之一(另一项重点工作和供应链安全相关)。Go 1.18 中的初始版本只是一个开始,预计 Go 1.19(或将于 2022 年 8 月发布)及更高版本将进一步完善泛型的设计和实现,并将其进一步整合到整体 Go 体验中。

Go 开源 12 周年:新域名 go.dev 启用|Russ Cox 发文庆贺

目前,Go 团队已经着手研究 Go 漏洞数据库以及用于报告程序依赖项中漏洞的相关工具,以提高此类工具的信噪比(如果程序不使用易受攻击的功能,则不会进行报告),预计明年会被作为独立工具提供,且将其添加到现有工具中。同时,在改进 Go 供应链安全态势方面,未来也还有更多工作需要开展。

关于 Go 语言

Go 语言最初由 Rob Pike 等谷歌工程师在 2007 年 9 月启动设计工作,在2009 年 11 月正式对外发布。

Go 语言完美融合了动态语言易于编写的特性和静态语言的高效性,具备良好的易用性和极佳的执行效率。

Go 语言最初定位于 Web 服务器、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以帮助开发者创建并行任务。Go 开发团队曾表示,编译完成的 Go 程序运行速度接近 C 语言实现的程序。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
码农印象 码农印象
4年前
【Golang】Go 语言今年 12 岁,何去何从,现状到底如何?
不说不知道,一说下一跳。Go语言已经开源11周年了,感觉是一路高歌,ReleaseHistory(polarisxu整理)如下:2011年3月16日,Go语言的第一个稳定版本r56发布;2012年3月28日,Go语言的第一个正式版本Go1发布,并承诺1.x的兼容性;2013年5月13
东方客主 东方客主
4年前
go-map源码简单分析(map遍历为什么时随机的)
GO中map的底层是如何实现的首先Go语言采用的是哈希查找表,并且使用链表解决哈希冲突。GO的内存模型先看这一张map原理图(https://imghelloworld.osscnbeijing.aliyuncs.com/49dfa7b81e19fbab143ddc0a7b3b7fa0.png)map再来看
Stella981 Stella981
3年前
Go 版本入 Dubbo 生态一周年:已和 Spring Cloud、gRPC 互通
本文作者:o\\\\0去年5月,阿里开源的高性能RPC框架Dubbo从ASF毕业并晋升顶级项目,同时,还宣布Go语言版本的Dubbogo正式加入Dubbo官方生态。经过一年的发展,Dubbogo在技术和社区运营方面都已经有了不错的成绩。Dubbogo是Dubbo的完整Go语言实现,在功能实现和技术路
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Golang注册Eureka的工具包goeureka发布
1.简介提供Go微服务客户端注册到Eureka中心。点击:github地址(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FSimonWang00%2Fgoeureka),欢迎各位多多star!(已通过测试验证,用于正式生产部署)2.原理
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n