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

相关推荐
郝学胜-神的一滴3 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
恣逍信点13 小时前
《凌微经 · 理悖相涵》第六章 理悖相涵——关系构型之模因
人工智能·科技·程序人生·生活·交友·哲学
一个人旅程~16 小时前
我存在吗?你存在吗?
笔记·程序人生·电脑·ai写作
湘-枫叶情缘18 小时前
家庭工业化转型:破解工业时代生养“赔本买卖”的路径研究
程序人生·生活
恣逍信点18 小时前
《凌微经 · 理悖相涵》第七章 形性一体——本然如是之元观
人工智能·科技·学习·程序人生·生活·交友·哲学
Wentao Sun1 天前
致敬软件创业者2026
笔记·程序人生
CodeSheep程序羊1 天前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展
郝学胜-神的一滴2 天前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
John_ToDebug2 天前
在代码的黄昏,建筑师诞生:从打字员到AI协作设计者的范式革命
人工智能·程序人生
拾光师2 天前
CentOS 7 老树开新花:从零部署 Dify 全栈应用(含 Go/Rust/GCC 升级避坑)
程序人生