2023年8月8日 Go生态洞察:Go 1.21 版本发布探索


🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁

🦄 博客首页——🐅🐾猫头虎的博客🎐
🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》 🐅 学会Golang语言,畅玩云原生,走遍大小厂~💐

🐅🐾猫头虎建议Go程序员必备技术栈一览表📖:

☁️🐳 Go语言开发者必备技术栈☸️:
🐹 GoLang | 🌿 Git | 🐳 Docker | ☸️ Kubernetes | 🔧 CI/CD | ✅ Testing | 💾 SQL/NoSQL | 📡 gRPC | ☁️ Cloud | 📊 Prometheus | 📚 ELK Stack


🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥


在这里插入图片描述

文章目录

    • 🐅🐾猫头虎建议Go程序员必备技术栈一览表📖:
  • 2023年8月8日 Go生态洞察:Go 1.21 版本发布探索 🌟
    • 引言
    • 正文内容
      • 🛠️ 工具改进
      • 📚 语言变化
      • 📦 标准库新增
      • 🚀 性能提升
      • 🌍
    • 总结
  • 原创声明

  • 原创作者: 猫头虎

  • 作者wx: Libin9iOak

  • 作者公众号: 猫头虎技术团队

在这里插入图片描述

2023年8月8日 Go生态洞察:Go 1.21 版本发布探索 🌟

摘要:🐯 大家好,猫头虎博主今天带来的是关于Go语言的最新消息 - Go 1.21版本的发布!这次更新包含了众多新功能和改进,我们将深入探讨每一个亮点。👩‍💻 搜索词条:Go 1.21, 语言改进, 标准库, 性能提升。

引言

亲爱的Go开发者们,又是激动人心的时刻!Go 1.21正式发布了。作为一名热衷于Go语言的博主,我迫不及待地想与大家分享这次更新的精彩内容。让我们一起看看Go 1.21带来了哪些新特性和提升吧!

正文内容

🛠️ 工具改进

Go 1.21带来了一些重要的工具改进:

  • 首先,我们在1.20中预览的Profile Guided Optimization (PGO)功能现已全面可用!如果在主包目录中存在default.pgo文件,go命令将启用PGO构建。PGO的影响是显著的,对各种Go程序进行了测试,性能提升了2-7%。
  • go工具现在支持向后和向前的语言兼容性。

📚 语言变化

Go 1.21在语言层面也有一些显著变化:

  • 新增的内置函数:min, max和clear。
  • 泛型函数的类型推断得到了几项改进。类型推断规范的描述已被扩展和澄清。
  • 在未来的Go版本中,我们计划解决Go编程中一个常见的问题:循环变量捕获。Go 1.21带来了这个特性的预览,你可以通过设置环境变量来启用。更多详情见LoopvarExperiment wiki页面。

📦 标准库新增

标准库在这次更新中也有新增内容:

  • 新的log/slog包,用于结构化日志。
  • 新的slices包,提供了对任意元素类型切片的常见操作。这包括比sort包更快更方便的排序函数。
  • 新的maps包,提供了对任意键或元素类型映射的常见操作。
  • 新的cmp包,为有序值比较提供了新工具。

🚀 性能提升

除了启用PGO时的性能提升外:

  • Go编译器本身在1.21版本中也启用了PGO,结果是,根据宿主架构的不同,构建Go程序的速度提升了2-4%。
  • 由于调整了垃圾收集器,一些应用程序的尾部延迟可能减少了高达40%。
  • 在amd64和arm64上,使用runtime/trace收集跟踪现在对CPU的开销大幅减少。

🌍

WASI新端口
Go 1.21增加了对WebAssembly System Interface (WASI)的实验性支持,预览版1(GOOS=wasip1, GOARCH=wasm)。

为了便于编写更通用的WebAssembly (Wasm)代码,编译器还支持了一种新的指令,用于从Wasm宿主导入函数:go:wasmimport

总结

感谢每一个为这次发布贡献代码、报告错误、分享反馈和测试候选版本的人。你们的努力帮助确保Go 1.21尽可能稳定。如果你发现任何问题,请提交问题。

祝大家使用Go 1.21愉快!

关键点描述
工具改进PGO功能全面可用,go工具支持语言兼容性
语言变化新增内置函数min、max和clear,泛型函数类型推断改进
标准库新增新增log/slog、slices、maps和cmp包
性能提升启用PGO后的编译器性能提升,垃圾收集器调优,减少了runtime/trace的CPU开销
WebAssembly System Interface (WASI) 新端口支持WASI预览版,增加了go:wasmimport指令

下一篇预告:🔍 下一篇文章我们将深入探讨“向后兼容性,Go 1.21与Go 2”。敬请期待猫头虎博主对Go语言未来的洞察!🐯💡 点击预览�

在这里插入图片描述

原创声明

======= ·

  • 原创作者: 猫头虎

  • 作者wx: Libin9iOak
    在这里插入图片描述

  • 作者公众号: 猫头虎技术团队

在这里插入图片描述

学习复习Go生态

本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,洞察Go生态,共同成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208280.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中小企业都在用哪些开源项目管理工具?分享15款

推荐15个优秀的开源项目管理工具,比如:ProjectLibre、OpenProject、ERPNext、Redmine、禅道、Tuleap、Restyaboard等。 项目经理面临各种复杂任务,包括追踪任务的进度、评估交付风险和管理整体工作量。为了顺利达成目标,一款靠谱的…

ALLEGRO PCB 如何设置增加的过孔

Allegro添加过孔 1、首先建立焊盘(热风焊盘) Via20x10mil(tr30x45x12mil_45) 2、设置过孔的焊盘 Setup-->Constraints(约束)-->Physical 弹出以下对话框Allegro Constraint Manager 可以通过右键点击PC S(…

ArchLinux下载链接

LINUX花样太多,不得不跟着别人要求。 Arch Linux - Downloads Index of /archlinux/iso/2023.12.01/

学习IO的第四天

作业 : 使用两个子进程完成两个文件的拷贝&#xff0c;子进程1拷贝前一半内容&#xff0c;子进程2拷贝后一般内容&#xff0c;父进程用于回收两个子进程的资源 #include <head.h>int main(int argc, const char *argv[]) {int rd -1;if((rdopen("./01_test.c&quo…

零基础如何入门HarmonyOS开发?

HarmonyOS鸿蒙应用开发是当前非常热门的一个领域&#xff0c;许多人都想入门学习这个技术。但是&#xff0c;对于零基础的人来说&#xff0c;如何入门确实是一个问题。下面&#xff0c;我将从以下几个方面来介绍如何零基础入门HarmonyOS鸿蒙应用开发学习。 一、了解HarmonyOS鸿…

[JSMSA_CTF] 2023年12月练习题 pwn

一开始没给附件&#xff0c;还以为是3个盲pwn结果&#xff0c;pwn了一晚上没出来&#xff0c;今天看已经有附件了。 pwn1 在init_0里使用mallopt(1,0) 设置global_max_fast0 任何块释放都会进入unsort在free函数里没有清理指针&#xff0c;有UAF将v6:0x100清0&#xff0c;便于…

甘草书店:#10 2023年11月24日 星期五 「麦田创业分享2—世界奇奇怪怪,请保持可可爱爱」

今日继续分享麦田创业经验。 如果你问我&#xff0c;创业过程中是否想过放弃。那么答案是&#xff0c;有那么一次。 那时想要放弃的原因并不是辛苦没有回报&#xff0c;或是资金短缺&#xff0c;而是没能理解“异见者”。 其实事情非常简单&#xff0c;现在反观那时的自己&a…

实例解析关于兔鲜登录tab栏切换案例详细讲解!

文章目录 文章目录 效果图展示 整体制作的一个思路 代码展示 技术细节 小结 效果图展示 点击账户登录显示登录的模块&#xff0c;点击二维码登录显示二维码的模块 整体制作的一个思路 点击哪个模块哪个显示&#xff0c;另外一个模块让它隐藏即可&#xff01; 代码展示 <!…

好莱坞明星识别

一、前期工作 1. 设置GPU from tensorflow import keras from tensorflow.keras import layers,models import os, PIL, pathlib import matplotlib.pyplot as plt import tensorflow as tfgpus tf.config.list_physical_devices("GPU")if gpus:gpu0 …

动态规划——完全背包问题(公式推导,组合、排列)

本文章是对于完全背包 一些题型(如题目所示&#xff0c;组合、排列和最小值类型)的总结和理解&#xff0c;依次记录一下&#xff0c;方便回顾与复习。 本文章是基于个人所总结 实现的&#xff0c;但在其中遇到了一些疑惑与困难&#xff0c;所以总结一篇与完全背包相关的问题。 …

Spring基于注解开发

Component的使用 基本Bean注解&#xff0c;主要是使用注解的方式替代原有的xml的<bean>标签及其标签属性的配置&#xff0c;使用Component注解替代<bean>标签中的id以及class属性&#xff0c;而对于是否延迟加载或是Bean的作用域&#xff0c;则是其他注解 xml配置…

IntelliJ IDEA 的 HTTP 客户端的高级用法

本心、输入输出、结果 文章目录 IntelliJ IDEA 的 HTTP 客户端的高级用法前言HTTP 请求对 gRPC 请求的支持对 GraphQL 和 WebSocket 请求的支持环境文件OpenAPI 补全用于持续集成的 HTTP 客户端 CLI花有重开日,人无再少年实践是检验真理的唯一标准IntelliJ IDEA 的 HTTP 客户端…

keepalived 高可用主备

实验采用两台centos9 nginxkeepalived 一共两台&#xff0c;进行主备切换 主服务器 192.168.100.105 备用 192.168.100.106 虚拟ip 192.168.100.200 安装 dnf install vim wget curl vim net-tools nginx keepalivedUndefined nginx 配置需要更改为虚拟ip server {listen …

四招打造完美分层自动化测试框架,让测试更高效!

写在前面 我们刚开始做自动化测试&#xff0c;可能写的代码都是基于原生写的代码&#xff0c;看起来特别不美观&#xff0c;而且感觉特别生硬。 来看下面一段代码&#xff1a; 具体表现如下&#xff1a; driver对象在测试类中显示 定位元素的value值在测试类中显示 定位元素…

Navicat 技术指引 | 适用于 GaussDB 分布式的用户/权限功能

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…

干货:软文推广中的关键词类别有哪些?

软文推广如果想要增加文案曝光率&#xff0c;seo是其主要的传播方式之一&#xff0c;因而好的关键词十分重要&#xff0c;这里的关键词指得是针对搜索引擎而言&#xff0c;由用户输入搜索引擎框中的提示性文字&#xff0c;只要关键词设置得好&#xff0c;软文就能通过搜索引擎精…

因为 postman环境变量全局变量设置好兄弟被公司优化了!

postman环境变量、全局变量设置 在公司中&#xff0c;一般会存在开发环境、测试环境、线上环境等&#xff0c;如果需要在不 同的环境下切换做接口测试&#xff0c;显然我们需要把所有接口的域名进行修改&#xff0c;如果接 口测试用例较多&#xff0c;那么修改会非常费力&…

springboot(ssm大学生志愿者管理系统 志愿者管理平台 Java系统

springboot(ssm大学生志愿者管理系统 志愿者管理平台 Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff…

Python与ArcGIS系列(十五)根据距离抓取字段

目录 0 简述1 实例需求2 arcpy开发脚本0 简述 在处理gis数据的时候,会遇到这种需求:将一个图层与另一个图层中相近的要素进行字段赋值。本篇将介绍如何利用arcpy及arcgis的工具箱实现这个功能。 1 实例需求 为了介绍这个功能的实现,我们需要有一个特定的功能需求。在这里选…

视频号小店怎么选品?选品技巧及思维,教程如下!

我是电商珠珠 开通视频号小店后&#xff0c;除了定类目之外&#xff0c;最终的就是选品了。 很多人不知道怎么选品&#xff0c;特别是新手小白&#xff0c;做起来比较难一些。店铺也会很少有流量进入&#xff0c;没有流量曝光的话&#xff0c;店铺的销量就更不用提了。 我做…