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.pswp.cn/news/208280.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208280.shtml
英文地址,請注明出處:http://en.pswp.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;店鋪的銷量就更不用提了。 我做…