日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

go語言編譯器哪個(gè)好用 go語言ide開發(fā)工具

2007 年 9 月 21 日,Robert Griesemer,Rob Pike 和 Ken Thompson 在一塊白板上勾勒了一個(gè)新語言,并在幾天內(nèi)定下了計(jì)劃和目標(biāo),作為一個(gè)自由時(shí)間的項(xiàng)目進(jìn)行;2008 年年中,這個(gè)項(xiàng)目得到 Google 的全力支持,成為了一個(gè)全職項(xiàng)目;2009 年 11 月,Go 語言正式開源 [1],并于三年后發(fā)布 1.0 版本 。發(fā)布 12 年至今,已有上百萬開發(fā)者成為“gopher”,已經(jīng)遠(yuǎn)超設(shè)計(jì)者最初的預(yù)期 。
# 源起 #Go 語言的開發(fā)團(tuán)隊(duì)可以說是高人云集:Ken Thompson 創(chuàng)造了 B 語言(C 語言前身),是 Unix 和 Plan9 操作系統(tǒng)的創(chuàng)立者之一,和 Dennis Ritchie 一起獲得了 1983 年的圖靈獎(jiǎng);Rob Pike 是 Unix 小組成員,也是 Limbo 語言和 UTF-8 編碼的主要設(shè)計(jì)者;Robert Griesemer 曾參與制作 Google 的 JavaScript 引擎 V8、Java 的 HotSpot 虛擬機(jī)和領(lǐng)域特定語言 Sawzall [2](Sawzall 最早被 Google 用于處理大批量日志,后來基本被 Go 取代[3]) 。

go語言編譯器哪個(gè)好用 go語言ide開發(fā)工具


Go 語言的三位創(chuàng)始人在 Google I/O 2012 – Meet the Go Team
隨著 Go 的發(fā)展,出現(xiàn)了一些聲音稱 Go 語言沒什么技術(shù)優(yōu)勢,而 Rob Pike 對(duì)此的態(tài)度是“你們是對(duì)的”,Go 語言本身 “并不有趣”,其設(shè)計(jì)初衷不是為了推動(dòng)編程語言設(shè)計(jì)的進(jìn)步,是為改善軟件工程的工作環(huán)境而生 [4] 。
當(dāng)時(shí) Google 面臨著軟件大規(guī)模增長的問題,開發(fā)方式變得緩慢而笨拙 。規(guī)?;诟鞣N維度上均存在,比如多核并行、生產(chǎn)需求和依賴關(guān)系等,導(dǎo)致硬件和軟件都非常大,很多軟件的代碼多達(dá)百萬行(大部分使用 C++、Java 或 Python) 。Go 語言的誕生解決了大規(guī)模的軟件開發(fā)中一些核心痛點(diǎn),比如開發(fā)緩慢、不受控制的依賴關(guān)系、代碼理解困難和重復(fù)造輪子等 。[5]
官網(wǎng)描述 Go 語言可用于構(gòu)建“簡單、可靠、高效的大規(guī)模軟件”,JetBrains 2021 年的最新調(diào)研報(bào)告顯示,程序員們?cè)诠ぷ髦惺褂?Go 語言的比例達(dá)到了 61%(Rust 語言用于工作的比例僅 16%) [6] 。

go語言編譯器哪個(gè)好用 go語言ide開發(fā)工具


使用 Go 的場景
可見 Go 確實(shí)不是一門“有趣”的編程語言,而更看重工程實(shí)踐中的實(shí)用性,Go 語言設(shè)計(jì)中的方方面面都在體現(xiàn)這一點(diǎn) 。
# 演進(jìn) #版本更新歷史 [7][8]:
  • 2012 年 3 月,語言第一個(gè)正式版本 Go 1.0 發(fā)布,同時(shí)還有一份兼容性說明文檔說明未來版本會(huì)確保向后兼容性 。
  • 2013 年 5 月,Go 1.1 發(fā)布,這個(gè)版本的編譯器、垃圾回收機(jī)制、goroutine 調(diào)度器性能均有增強(qiáng) 。
  • 2014 年 12 月,Go 1.4 發(fā)布,堆棧大小減少了 10~30%;Android 官方支持包隨版本一起發(fā)布;同時(shí) Go 項(xiàng)目從 Google Code 遷移到了 Github 。
  • 2015 年 8 月,Go 編譯器實(shí)現(xiàn)自舉,完全移除了 C 語言;重新設(shè)計(jì)了垃圾回收器,支持并發(fā),垃圾回收延遲顯著降低,此后版本對(duì)垃圾回收器有更進(jìn)一步的優(yōu)化 。
  • 2018 年 8 月,Go 1.11 版本引入了 Go 模塊功能,以響應(yīng)在當(dāng)年語言調(diào)研中反饋的模塊管理問題;增加了實(shí)驗(yàn)性的 WebAssembly 支持 。
  • 2019 年 9 月,Go 1.13 版本中,改進(jìn)了 sync 包 Pool 組件的資源被垃圾回收器清除的機(jī)制;重寫了逃逸分析邏輯 。
  • 2020 年 8 月,Go 鏈接器得到了實(shí)質(zhì)性的提高,減少了30% 的內(nèi)存資源占用,提高了代碼的可維護(hù)性 。
  • 2021 年 2 月,Go 1.16 支持了 macOS ARM64;同時(shí)默認(rèn)使用 Go 模塊功能(同樣來自調(diào)研報(bào)告反饋的情況) 。
  • 2021 年 8 月,Go 1.17 發(fā)布,增加了對(duì) Windows ARM64 的支持;語言有三個(gè)小的增強(qiáng)(unsage 包的兩個(gè)新函數(shù)和語言類轉(zhuǎn)換規(guī)則的擴(kuò)展) 。
Go 語言并沒有特別激進(jìn)的新特性,而是從早期的編程語言中繼承了很多內(nèi)容,并做了有效的組合 [9] 。

推薦閱讀