Go 1.24.0 重磅发布:新特性、新工具,开发者必看!

简介: `Go 1.24.0` 已正式发布,带来诸多改进和新特性。语言层面上,泛型类型别名现已被完全支持;性能方面,通过优化 `map` 实现和内存分配,减少了 2-3% 的 CPU 开销;工具链新增模块工具依赖跟踪及测试分析器;标准库增加了弱引用包、FIPS 140-3 合规机制等;WebAssembly 支持也得到了增强。快来下载体验吧!

前言

Gopher 们,Go 1.24.0 发布啦!Go 1.24.0 相比 Go 1.23.0 有许多改进。让我们一起来看看 Go 1.24.0 带来了哪些新变化吧!

准备好了吗?准备一杯你最喜欢的咖啡或茶,随着本文一探究竟吧。

Go-Let'sGo.jpg

快速安装

您可以从下载页面下载二进制和源代码发行版:

https://go.dev/dl/#go1.24.0

如果你已经安装了其他的 Go 语言版本,你也可以通过以下命令快速安装 Go 1.24.0 版本:

$ go install golang.org/dl/go1.24.0@latest
$ go1.24.0 download
Downloaded   0.0% (   16384 / 87052317 bytes) ...
Downloaded   9.4% ( 8224752 / 87052317 bytes) ...
Downloaded  13.1% (11403248 / 87052317 bytes) ...
Downloaded  54.7% (47579136 / 87052317 bytes) ...
Downloaded  58.0% (50495488 / 87052317 bytes) ..
Downloaded  95.9% (83443664 / 87052317 bytes) ...
Downloaded  99.4% (86507056 / 87052317 bytes) ...
Downloaded 100.0% (87052317 / 87052317 bytes)
Unpacking /Users/chenmingyong/sdk/go1.24.0/go1.24.0.darwin-arm64.tar.gz ...
Success. You may now run 'go1.24.0'

$ go1.24.0 version
go version go1.24.0 darwin/arm64

语言层面上的更新

Go 1.24 现在完全支持泛型类型别名:类型别名可以像定义的类型一样被参数化。

// 1.24.0 版本之前
type MyInt[T comparable] = int // 错误提示:Generic type cannot be alias

// 1.24.0 版本及之后
type MyInt[T comparable] = int // 符合语法规定

性能改进

Go 运行时做了一些性能优化,平均减少了 2-3% 的 CPU 开销,测试覆盖了一些典型的基准。主要的优化有:用瑞士表(Swiss Tables)重新实现了内置的 map、更高效的小对象内存分配以及新的运行时内部互斥锁实现。

工具改进

  • go 命令现在提供了一个机制来跟踪模块的工具依赖。使用 go get -tool 可以将工具指令添加到当前模块中。使用 go tool [tool name] 来运行通过工具指令声明的工具。

  • 新的 go vet 子命令中的测试分析器会报告测试包中常见的错误,比如在声明测试、模糊测试、基准测试和示例时的常见问题。

标准库新增内容

  • 新增了一个弱引用(weak)包,提供了弱指针。
  • Go 的标准库现在新增了一组机制,帮助实现 FIPS 140-3 合规性。应用程序无需修改源代码,就能使用这些新机制来支持经过批准的算法。除了 FIPS 140 相关内容,之前在 x/crypto 模块中的一些包现在已经移到标准库中。
  • 基准测试现在可以使用更快速且更不易出错的 testing.B.Loop 方法来执行基准迭代,比如用 for b.Loop() { ... } 来代替传统的使用 b.N 的循环结构(比如 for range b.N)。
  • 新的 os.Root 类型提供了在特定目录下隔离执行文件系统操作的能力。
  • 运行时现在提供了一个新的终结机制 runtime.AddCleanup,它比 runtime.SetFinalizer 更加灵活、高效,并且更不容易出错。
  • 新增了一个实验性的 testing/synctest 包,用于支持并发代码的测试。synctest 包是实验性的,在构建时必须通过设置 GOEXPERIMENT=synctest 来启用。

WebAssembly 支持改进

Go 1.24 新增了 go:wasmexport 指令,用于将 Go 程序的函数导出到 WebAssembly 主机。同时,Go 现在支持将程序构建为 WASI reactor/library

小结

在本文中,简要介绍了 Go 1.24.0 版本的主要更新,涵盖了语言层面的提升、性能优化、工具链的改进以及标准库中的新增内容。

除此之外,Go 1.24.0 还在一些细节上进行了小的改进,提升了开发体验。

后续,我将深入介绍每个重要更新的具体内容,关注我,更多精彩的更新分析,敬请期待!


你好,我是陈明勇,一名热爱技术、乐于分享的开发者,同时也是开源爱好者。

成功的路上并不拥挤,有没有兴趣结个伴?

关注我,加我好友,一起学习一起进步!

目录
相关文章
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
PAI Model Gallery 支持云上一键部署 DeepSeek-V3、DeepSeek-R1 系列模型
DeepSeek 系列模型以其卓越性能在全球范围内备受瞩目,多次评测中表现优异,性能接近甚至超越国际顶尖闭源模型(如OpenAI的GPT-4、Claude-3.5-Sonnet等)。企业用户和开发者可使用 PAI 平台一键部署 DeepSeek 系列模型,实现 DeepSeek 系列模型与现有业务的高效融合。
|
7天前
|
人工智能 搜索推荐 Docker
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
DeepSeek R1 + LobeChat + Ollama:快速本地部署模型,创建个性化 AI 助手
2691 112
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
|
2天前
|
云安全 边缘计算 人工智能
对话|ESA如何助力企业高效安全开展在线业务?
ESA如何助力企业安全开展在线业务
1015 7
|
5天前
|
人工智能 自然语言处理 JavaScript
宜搭上新,DeepSeek 插件来了!
钉钉宜搭近日上线了DeepSeek插件,无需编写复杂代码,普通用户也能轻松调用强大的AI大模型能力。安装后,平台新增「AI生成」组件,支持创意内容生成、JS代码编译、工作汇报等场景,大幅提升工作效率。快来体验这一高效智能的办公方式吧!
1346 5
|
14天前
|
Linux iOS开发 MacOS
deepseek部署的详细步骤和方法,基于Ollama获取顶级推理能力!
DeepSeek基于Ollama部署教程,助你免费获取顶级推理能力。首先访问ollama.com下载并安装适用于macOS、Linux或Windows的Ollama版本。运行Ollama后,在官网搜索“deepseek”,选择适合你电脑配置的模型大小(如1.5b、7b等)。通过终端命令(如ollama run deepseek-r1:1.5b)启动模型,等待下载完成即可开始使用。退出模型时输入/bye。详细步骤如下图所示,轻松打造你的最强大脑。
9442 86
|
2天前
|
人工智能 自然语言处理 API
DeepSeek全尺寸模型上线阿里云百炼!
阿里云百炼平台近日上线了DeepSeek-V3、DeepSeek-R1及其蒸馏版本等六款全尺寸AI模型,参数量达671B,提供高达100万免费tokens。这些模型在数学、代码、自然语言推理等任务上表现出色,支持灵活调用和经济高效的解决方案,助力开发者和企业加速创新与数字化转型。示例代码展示了如何通过API使用DeepSeek-R1模型进行推理,用户可轻松获取思考过程和最终答案。
|
6天前
|
API 开发工具 Python
阿里云PAI部署DeepSeek及调用
本文介绍如何在阿里云PAI EAS上部署DeepSeek模型,涵盖7B模型的部署、SDK和API调用。7B模型只需一张A10显卡,部署时间约10分钟。文章详细展示了模型信息查看、在线调试及通过OpenAI SDK和Python Requests进行调用的步骤,并附有测试结果和参考文档链接。
1393 9
阿里云PAI部署DeepSeek及调用
|
1月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
阿里云与企业共筑容器供应链安全
171378 18
|
1月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
150313 32
|
6天前
|
缓存 自然语言处理 安全
快速调用 Deepseek API!【超详细教程】
Deepseek 强大的功能,在本教程中,将指导您如何获取 DeepSeek API 密钥,并演示如何使用该密钥调用 DeepSeek API 以进行调试。

热门文章

最新文章