Go v1.22.6 发版,建议升级至 macOS 11 Big Sur

TIOBE 编程语言 8 月榜单更新,Go 排行第 8,同比上升 3 位。

Go 1.21 系列已经发布一年,当前最新版本为 go1.21.13 (released 2024-08-06)。

Go 1.22 系列也已发布半年,当前最新版本为 go1.22.6 (released 2024-08-06)。

unsetunsetGo 1.22.0unsetunset

以下是 Go 1.22 的主要更新和改进:

1. 语言:
  • "for" 循环中声明的变量现在在每次迭代中都会创建新的变量,以避免意外的共享错误。

  • "for" 循环现在可以遍历整数。

    package main

    import (
    "fmt"
    "runtime"
    )

    func main() {
    fmt.Printf("Go version: %s\n", runtime.Version())

    复制代码
    for i := range 10 {
      fmt.Println(10 - i)
    }
    fmt.Println("go1.22 has lift-off!")

    }

输出:

复制代码
[shawnyan@rl9 mygo]$ go run main.go
Go version: go1.22.6
10
9
8
7
6
5
4
3
2
1
go1.22 has lift-off!
2. 工具:
  • 工作空间的命令可以使用包含依赖的 vendor 目录。
  • go get 不再支持在模块模式之外的遗留 GOPATH 模式 (GO111MODULE=off)。
  • go test -cover 现在会打印没有自己测试文件的覆盖包的覆盖摘要。
3. 运行时:
  • 运行时现在将基于类型的垃圾收集元数据更靠近每个堆对象,从而提高 Go 程序的 CPU 性能。
4. 编译器:
  • 使用 Profile-guided Optimization (PGO) 构建的程式,运行时性能可提高 2% 到 14%。
5. 链接器:
  • -s-w 标志现在在所有平台上的行为更加一致。
6. 标准库:
  • 新的 math/rand/v2 包。
  • 新的 go/version 包用于验证和比较 Go 版本字符串。
  • HTTP 路由模式现在更加丰富,支持方法和通配符。
7. 其他:
  • 各种库进行了小幅度的更新和性能改进。
8. 平台支持:
  • macOS:Go 1.22 是最后一个支持 macOS 10.15 Catalina 的版本。
  • ARM: GOARM 环境变量现在可以选择使用软件或硬件浮点。
  • Loong64:现在支持通过寄存器传递函数参数和结果。
  • OpenBSD:添加了对 OpenBSD 的实验性支持。

unsetunsetGo 1.22.x 小版本迭代unsetunset

  • go1.22.1(发布于 2024-03-05)包括对 crypto/x509、html/template、net/http、net/http/cookiejar 和 net/mail 包的安全修复,以及对编译器、go 命令、运行时、trace 命令以及 go/types 和 net/http 包的错误修复。
  • go1.22.2(发布于 2024-04-03)包括对 net/http 包的安全修复,以及对编译器、go 命令、链接器以及 encoding/gob、go/types、net/http 和运行时/trace 包的错误修复。
  • go1.22.3(发布于 2024-05-07)包括对 go 命令和 net 包的安全修复,以及对编译器、运行时和 net/http 包的错误修复。
  • go1.22.4(发布于 2024-06-04)包括对 archive/zip 和 net/netip 包的安全修复,以及对编译器、go 命令、链接器、运行时和 os 包的错误修复。
  • go1.22.5(发布于 2024-07-02)包括对 net/http 包的安全修复,以及对编译器、cgo、go 命令、链接器、运行时和 crypto/tls、go/types、net、net/http 和 os/exec 包的错误修复。
  • go1.22.6(发布于 2024-08-06)包含对 go 命令、编译器、链接器、trace 命令、covdata 命令以及 bytes、go/types 和 os/exec 包的修复。

unsetunsetmacOSunsetunset

需要注意的是:

Go 1.23 将需要 macOS 11 Big Sur 或更高版本。

如果你正在 macOS 上调试 Go 语言程序,建议升级到 macOS 11 及以上版本。

本文由mdnice多平台发布

相关推荐
humors22111 小时前
网络南京摄影合集(不定期更新)
大数据·程序人生
可触的未来,发芽的智生11 小时前
2025年终总结:智能涌现的思考→放弃冯诺依曼架构范式,拥抱“约束产生智能”
javascript·人工智能·python·神经网络·程序人生
拿我格子衫来1 天前
搭建公司产品wiki的开源框架选型,注重介绍wikijs框架
程序人生·信息可视化·职场和发展
大布布将军1 天前
⚡部署的通行证:Docker 容器化基础
运维·前端·学习·程序人生·docker·容器·node.js
沛沛老爹2 天前
2025年AI冲击下的Java Web开发现状
java·开发语言·人工智能·程序人生·职场和发展·年度总结
郝学胜-神的一滴2 天前
数据为壤,特征为苗:机器学习特征提取艺术探微
人工智能·程序人生·机器学习·scikit-learn·sklearn
大布布将军2 天前
⚡后端安全基石:JWT 原理与身份验证实战
前端·javascript·学习·程序人生·安全·node.js·aigc
Francek Chen2 天前
【博客之星2025年度总评选】逐梦2026:我的2025博客回溯与AI运营之旅
大数据·人工智能·经验分享·程序人生·csdn·博客之星
郝学胜-神的一滴3 天前
Linux多线程编程:深入解析pthread_detach函数
linux·服务器·开发语言·c++·程序人生
John_ToDebug3 天前
认知跃迁:从情绪博弈到系统通识的职业觉醒
程序人生