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多平台发布

相关推荐
郝学胜-神的一滴1 小时前
Python浏览器自动化:Selenium与Playwright实战对比,网页爬虫&自动操作一站式指南
开发语言·爬虫·python·selenium·程序人生·自动化
郝学胜-神的一滴21 小时前
NumPy深度解析|Python数值计算的基石,告别低效for循环
开发语言·人工智能·python·程序人生·numpy·量化投资
Pin_Qing1 天前
同一天,谷歌半价卖旗舰,阶跃翻倍收缓存
大数据·开发语言·人工智能·程序人生·缓存
郝学胜-神的一滴1 天前
金融数据分析实战:从数据清洗到策略回测,Python全链路落地
开发语言·python·程序人生·金融·数据挖掘·数据分析
这个DBA有点耶1 天前
MySQL B-tree索引并发控制优化:写密集场景的锁瓶颈与内核级解法
java·数据库·程序人生·算法·database·dba
可爱系程序猿2 天前
Windows 11 下惠普 M126nw 驱动报错溯源:完整包、WSD 端口与类驱动记录
windows·程序人生·电脑
水饺编程3 天前
2026年10月13号日记
程序人生·程序员创富
知了一笑5 天前
AI卷王们,从窄路走向宽阔?
人工智能·程序人生·ai
西木莉6 天前
非互联网与互联网数据平台的差异
程序人生