Go 1.23 正式发布


Go 编程语言开发团队今天凌晨正式发布 Go 1.23

此版本带来了众多改进和新特性,下面简单看看主要亮点。

一. 语言特性更新

  • 新的迭代器语法: 在"for-range"循环中,现在可以使用迭代器函数作为range表达式,如func(func(K) bool)。这支持用户自定义任意序列的迭代器。标准库的slices和maps包也添加了支持迭代器的新功能。
  • 泛型类型别名预览: Go 1.23包含了对泛型类型别名的预览支持。

二. 工具链改进

  • Go遥测系统: 引入了一个opt-in的遥测系统,收集使用情况和错误统计,以帮助理解Go工具链的使用情况和效果,默认不开启。
  • go命令新功能:
    • go env -changed: 显示与默认值不同的设置。
    • go mod tidy -diff: 预览必要的go.mod和go.sum文件更改,而不实际修改文件。
    • go vet增强: 现在可以报告对于目标Go版本来说过新的符号。

三. 标准库更新

  • 新包引入:
    • iter: 支持迭代器相关功能。
    • structs: 定义用于修改结构体属性的标记类型(marker type)。
    • unique: 提供用于interning可比较值的工具。
    • time包优化: 改进了time.Timer和time.Ticker的实现。
    • GODEBUG设置: 支持在go.mod和go.work文件中使用新的godebug指令

更多变化查看 release note:https://go.dev/doc/go1.23

大家可以通过访问下载页面 https://go.dev/dl/ 获取 Go 1.23。

对于已安装 Go 1.22 或 Go 1.21 的用户,可以使用 go get [email protected] 来下载和使用新的工具链。

来源:https://mp.weixin.qq.com/s/IpDUOe0AUDKW2PYCWmvLYw


相關推薦

2022-06-18

Deno 1.23 已发布,值得关注的更新包括: 默认不进行类型检查 当要求执行一个程序时,Deno 总是运行一个类型检查。然而,评估和类型检查是完全不同的操作,涉及完全不同的编译器,每个编译器的执行速度也完全不同。评估代

2024-06-26

数据可视化引擎 G2 v5.1.23 版本现已发布,具体更新内容包括: feat:添加工具提示 markerType #6292 docs(tooltips): 添加组件工具提示演示 #6297 fix(tooltip):多序列条的双坐标轴 #6295 fix(tooltip):series enterabl #6296

2022-04-12

红帽上个月正式发布了 OpenShift 4.10,新版本使用 CRI-O 1.23 运行时和 Kubernetes 1.23、增加了对 AI 的支持以及 NVIDIA AI Enterprise 2.0 认证、使用更智能的 OpenShift 控制台、支持 Arm 架构和更多的公私有云平台、沙盒容器 (OpenShift Sandboxed

2023-01-12

DMG、TAR、ZIP 和 Bzip2 等类型的文件格式。 近日 Keka 1.2.59 正式发布,新版本增加了对 iOS 平台的支持,具体更新内容如下: 格式 将 7ZZ 从 22.00 更新到 22.01 将 ZSTD 从 1.5.1 更新到 1.5.2 将 PIGZ 从 2.6 更新到 2.7 将 XZ 从 5.2.5 更

2022-07-15

Go 1.19 发布了第一个 RC 版本,正式版预计在 8 月推出。 主要变化 针对“泛型”的 Bugfix 更新内存模型,与 C、C++、Java、JavaScript、Rust 和 Swift 使用的内存模型保持一致 Go 1.19 在启动时将默认提高打开文件的限制值 Go 1.19

2022-08-03

确定义了 sync/atomic 包的行为。happens-before 关系的正式定义已被修改,以与 C、C++、Java、JavaScript、Rust 和 Swift 使用的内存模型保持一致。现有程序不受影响。随着内存模型的更新, sync/atomic 包中还有新的类型,例如&nb

2022-11-12

庆祝 Go 开源 13 周年。2009 年 11 月 10 日,Go 作为开源项目正式宣布推出,目前已开源 13 周年。   对于 Go 来说,2022 是非常重要的一年,这一年  Go 发布了 Go 1.18 和 Go 1.19 版本,下面回顾一下今年 Go 发布的新

2023-09-22

术都能四世同堂,凭什么开发 30 岁就要被干掉? 上月正式发布的 Go 1.21 修改了 for 循环变量的语义(预览阶段,点此查看详情)。 现在,Go 团队表示 Go 1.22 会将这项特性发布为正式功能。 根据 Go 开发团队技术 leader Rus

2023-08-24

RuleGo v0.13.0 (2023/8/23) 新功能 新增数据集成模块(Endpoint),使用文档和介绍点击:Gitee 或者 Github 提供统一的数据处理抽象,方便异构系统数据集成,目前支持HTTP和MQTT协议 支持其他协议集成扩展,例如:kafka数据等

2022-08-09

2022年8月2日,Go 1.19 正式发布,并添加了对 LoongArch 架构的原生支持。至此,LoongArch 指令系统在 Golang 社区成为与 X86、ARM 等指令系统并列支持的指令系统之一。 据龙芯官方介绍,2021年5月龙芯中科向 Golang 社区提交了 LoongArch

2022-12-21

Go 编程语言提供了丰富的语言支持。 VS Code Go v0.37 近日正式发布,这个版本包括新的静态分析功能,可以报告依赖项中的已知漏洞。这些 vulncheck 分析工具由 Go 的漏洞数据库和 Go 语言服务器的govulncheck集成支持。 变化 新的

2023-06-15

Go 编程语言提供了丰富的语言支持。 VS Code Go v0.39 近日正式发布,更新内容如下: 变化 增加了 go.showWelcome 设置,控制是否显示欢迎页面 当 go.toolsManagement.go 设置无效并被忽略时,报告 删除了 go.languageServerExperimentalFeatur

2022-11-09

Go 编程语言提供了丰富的语言支持。 VS Code Go v0.36 近日正式发布,更新内容如下: 变化 从这个版本开始,该扩展将下载用 "Go: Install/Update Tools" 命令安装的第三方工具的特定版本。这是为了提高稳定性和安全性。Go: Install/Up

2022-07-21

Go 编程语言提供了丰富的语言支持。 VS Code Go v0.35 近日正式发布,更新内容如下: 特性 该版本增加了对 inlay 提示的支持 增加在扩展设置中对 ${workspaceFolderBasename} 替换的逻辑支持 增加对多文件测试套件的支持