亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

正式支持泛型!Go語(yǔ)言發(fā)布有史以來(lái)最大更新

美國(guó)時(shí)間2022年3月15日,Go核心團(tuán)隊(duì)官宣了Go 1.18版本正式版的發(fā)布,其官博稱之為“整個(gè)Go社區(qū)的一個(gè)巨大的里程碑”。在這個(gè)版本中,Go核心團(tuán)隊(duì)做了Go語(yǔ)言開(kāi)源以來(lái)的最大一次語(yǔ)法特性變更——增加了對(duì)泛型(generics)的支持。

這里簡(jiǎn)要整理一下 Go 1.18版本的重大更新。

泛型(Generics):在Go 1.18版本中,引入了對(duì)使用參數(shù)化類型的泛型代碼的新支持。支持泛型是Go最常被要求添加的功能特性,這一版本能夠提供大多數(shù)用戶目前需要的泛型支持。隨后的版本將繼續(xù)為一些更復(fù)雜的泛型用例提供額外支持。Go官方提供了泛型教程來(lái)幫助開(kāi)發(fā)者了解這個(gè)新功能,探索使用泛型來(lái)優(yōu)化和簡(jiǎn)化代碼的方法。

模糊測(cè)試(Fuzzing):伴隨著Go 1.18版本的發(fā)布,Go成為第一個(gè)將模糊測(cè)試完全整合到其標(biāo)準(zhǔn)工具鏈中的主要編程語(yǔ)言。這意味著與其他語(yǔ)言不同,不需要第三方支持集成。作為一種測(cè)試軟件漏洞的方法,模糊測(cè)試的集成為Go的代碼增加了一層額外的安全保障,尤其在當(dāng)下,隨著網(wǎng)絡(luò)攻擊在頻率和復(fù)雜性上不斷升級(jí),這一點(diǎn)顯然至關(guān)重要。在Go的模糊測(cè)試中,會(huì)使用隨機(jī)的數(shù)據(jù)對(duì)代碼進(jìn)行測(cè)試,以嘗試找出漏洞或?qū)е卤罎⒌妮斎搿?梢酝ㄟ^(guò)模糊測(cè)試發(fā)現(xiàn)的一些漏洞示例包括 SQL 注入、緩沖區(qū)溢出、拒絕服務(wù)和跨站點(diǎn)腳本攻擊。Go官方也提供了模糊測(cè)試教程,來(lái)幫助用戶理解使用這個(gè)新功能。

正式支持泛型!Go語(yǔ)言發(fā)布有史以來(lái)最大更新

工作區(qū)(Workspaces):當(dāng)前,Go module幾乎已被普遍接納和采用。在Go團(tuán)隊(duì)2021年的用戶調(diào)查中,用戶反饋Go module的最常見(jiàn)的挑戰(zhàn)是跨多個(gè)module工作。Go 1.18版本通過(guò)新的Go工作區(qū)模式(Go workspace mode)解決了這一問(wèn)題,這使得在多個(gè)module中工作變得簡(jiǎn)單。

20%的性能改進(jìn):對(duì)于蘋(píng)果M1、ARM64和PowerPC64用戶來(lái)說(shuō),這是一條絕對(duì)的好消息。由于Go 1.17的寄存器ABI調(diào)用約定擴(kuò)展到這些架構(gòu),Go 1.18的CPU性能提升幅度高達(dá)20%。

關(guān)于這一版本更詳細(xì)的信息,可查閱Go 1.18發(fā)布說(shuō)明(https://go.dev/doc/go1.18)。

Go語(yǔ)言發(fā)展小史

2007年9月,在Rob Pike 回復(fù)給 Robert Griesemer、Ken Thompson 的郵件中,談到了一門(mén)全新的編程語(yǔ)言,其設(shè)計(jì)仍在雛形中,建議將之取名為Go。在敲定名字之后,Rob、Robert、Ken 三人開(kāi)始在 Google 內(nèi)部進(jìn)行研發(fā)。

2008年5月,Go的研發(fā)獲得了 Google 的全力支持。

2009年11月10日,Go 項(xiàng)目團(tuán)隊(duì)首次公開(kāi)發(fā)布該語(yǔ)言,并將代碼全部開(kāi)源,這一天也被定為Go的官方生日。其源代碼最初托管在?http://code.google.com?上,之后幾年才逐步的遷移到 GitHub 上。

  • 2011年,Go 語(yǔ)言的第一個(gè)穩(wěn)定(stable)版本 r56 發(fā)布。
  • 2012年,Golang 的第一個(gè)正式版本 Go1 發(fā)布。
  • 2013年:Go 1.1 和 Go 1.2 正式版本發(fā)布。
  • 2014年:Go 1.3 和 Go 1.4 正式版本發(fā)布。
  • 2015年:Go 1.5 正式版本發(fā)布。
  • 2016年:Go 1.6 和 Go 1.7 正式版本發(fā)布。
  • 2017年:Go 1.8 和 Go 1.9 正式版本發(fā)布。
  • 2018年:Go 1.10 和 Go 1.11 正式版本發(fā)布。
  • 2019年:Go 1.12 和 Go 1.13 正式版本發(fā)布。
  • 2020年:Go 1.14 和 Go 1.15 正式版本發(fā)布。
  • 2021年:Go 1.16 和 Go 1.17 正式版本發(fā)布。
?

可以看到,自從踏上發(fā)展正軌后,Go語(yǔ)言基本保持了每半年發(fā)布一次的更新頻率。綜合來(lái)看,Go 開(kāi)源至今已逾12年,盡管背靠大樹(shù),但其發(fā)展過(guò)程仍然比較曲折。最初發(fā)布時(shí)獲得了一定關(guān)注,而后就開(kāi)始走下坡路,直到2015年重新設(shè)計(jì)優(yōu)化 GC 實(shí)現(xiàn)后才開(kāi)始觸底反彈,2016年重新流行起來(lái),直到現(xiàn)在也維持在主流編程語(yǔ)言之列。

當(dāng)前,Go 語(yǔ)言在國(guó)內(nèi)也熱度頗高。一方面是基于其高效的開(kāi)發(fā)方式,另一方面則因?yàn)镚o 語(yǔ)言天生“為云而生”,在全面擁抱云的時(shí)代得天獨(dú)厚。

對(duì)開(kāi)發(fā)者來(lái)說(shuō),Go 語(yǔ)言在保證了快速編譯的同時(shí),也保證了高效的開(kāi)發(fā)效率和程序運(yùn)行性能。相較于 Java 和 C++ 的滯重,Go 語(yǔ)言可以讓開(kāi)發(fā)速度更快、更容易,且性能也不差。此外,Go 語(yǔ)言的特性也不多,更容易上手,尤其對(duì)有 C 語(yǔ)言基礎(chǔ)的同學(xué),學(xué)習(xí)成本較低。

放眼全球,使用 Go 語(yǔ)言的大公司和優(yōu)秀開(kāi)源項(xiàng)目都比較多。有人稱 Go 為云端的編程語(yǔ)言。因?yàn)?Go 語(yǔ)言生成的二進(jìn)制可執(zhí)行文件很小,快速啟動(dòng),內(nèi)存占用也很小,在容器中運(yùn)行時(shí),沒(méi)有遺留負(fù)擔(dān)。很多CNCF項(xiàng)目,包括Kubernetes和Istio,都是用Go編寫(xiě)的。

隨著基礎(chǔ)設(shè)施的不斷云化,Go 語(yǔ)言的發(fā)展未來(lái)可期。

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!