go語言圖示是囊地鼠(gopher)。 gopher是一種生活在加拿大的小動物,go的吉祥物就是這個小動物,它的中文名叫做囊地鼠,它們最大的特點就是挖洞速度特別快;囊地鼠也代表了Go語言的運行速度、開發速度、學習速度(develop)快。
本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。
Go語言的logo就是很簡潔的GO兩個字母。
Go之所以叫Go,是想表達這門語言的運行速度、開發速度、學習速度(develop)都像gopher一樣快。
go語言的標誌是一隻囊地鼠,有說法說是土撥鼠,但據有心人士(閒得無聊)考據黨考據得出go的原型其實是一隻囊地鼠(gopher)。
gopher是一種住在加拿大的小動物,go的吉祥物就是這個小動物, 它的中文名叫做囊地鼠,他們最大的特點就是挖洞速度特別快,當然可能不止是挖洞啦。
go語言萌萌的吉祥物在一堆程式語言中畫風都不同。
不禁讓人懷疑這隻地鼠真的是Geek做出的嗎?
當然
不是啦!
這只萌萌的吉祥物是由Rob Pike的妻子Renee French繪製的,Pob Pike是Go的發明者之一,貝爾實驗室UNIX小組成員, Plan9主要開發者,他最喜歡做似乎就是:
發明作業系統
發明編輯器
發明語言
....
這位大神雖然很傳奇,但他不是我們這次的主角。
我們的主角,golang吉祥物的設計者Renee French是一位知名插畫家,她的畫風是這樣的:
好萌好萌好萌啊啊啊(o゜▽゜)o☆
就是她設計出了Golang吉祥物,可愛的Gordon
比心心!
Go 語言起源2007 年
Go 從2009 年9 月21 日開始正式以Google公司20% 兼職專案
2009年11月10日Google公司才正式發布Go語言,並以BSD協定完全開源,支援Linux和Mac OS平台,同年11月支援Windows平台。
下面我們以時間軸的方式梳理了在這個迭代過程中,發生了哪些里程碑式的大事件。
若想詳細了解Go歷史版本更迭請看: https://golang.google.cn/doc/devel/release.html
- 2007年9月,雛形設計,Rob Pike(羅伯.派克) 正式命名為Go;
- 2008年5月,Google全力支持該計畫;
// 2009年11月10日,首次公開發布,Go將程式碼全部開源,它獲得了當年的年度語言;
#- 2011年3月16日,Go語言的第一個穩定(stable)版本r56發布。
// 2012年3月28日,Go語言的第一個正式版本Go1發布。
- 2013年4月04日,Go語言的第一個Go 1.1beta1測試版發布。
- 2013年4月08日,Go語言的第二個Go 1.1beta2測試版發布。
- 2013年5月02日,Go語言Go 1.1RC1版發布。
RC=Release Candidate,意思是」發布候選版」,
它不是最終的版本,而是最終版(RTM=Release To Manufacture)之前的最後一個版本。
- 2013年5月07日,Go語言Go 1.1RC2版發布。
- 2013年5月09日,Go語言Go 1.1RC3版發布。
- 2013年5月13日,Go語言Go 1.1正式版發布。
- 2013年9月20日,Go語言Go 1.2RC1版發布。
- 2013年12月1日,Go語言Go 1.2正式版發布。
- 2014年6月18日,Go語言Go 1.3版發布。
- 2014年12月10日,Go語言Go 1.4版發布。
// 2015年8月19日,Go語言Go 1.5版發布,本次更新中移除了」最後殘餘的C代碼」。
go1.5的發布被認為是歷史性的。完全移除C語言部分,使用GO編譯GO(ps:少量程式碼使用組譯實作),GO編譯GO稱為Go的自舉,是程式語言走向成熟的表現。另外,他們請來了記憶體管理的權威專家Rick Hudson,對GC進行了重新設計,支持並發GC,解決了一直以來廣為詬病的GC時延(STW)問題。並且在此後的版本中,又對GC做了更進一步的最佳化。到go1.8時,相同業務場景下的GC延遲已經可以從go1.1的數秒,控制在1ms以內。 GC問題的解決,可以說GO語言在服務端開發方面,幾乎抹平了所有的弱點。
- 2016年2月17日,Go語言Go 1.6版發布。
- 2016年8月15日,Go語言Go 1.7版發布。
- 2017年2月17日,Go語言Go 1.8版發布。
- 2017年8月24日,Go語言Go 1.9版發布。
- 2018年2月16日,Go語言Go 1.10版發布。
- 2018年8月24日,Go語言Go 1.11版發布。
- 2019年2月25日,GO語言Go1.12版發布。
ps:在GO語言的版本迭代過程中,語言特性基本上沒有太大的變化,基本上維持在GO1.1的基準上,並且官方承諾,新版本對舊版本下開發的代碼完全相容。事實上,GO開發團隊在新增語言特性上顯得非常謹慎,Go語言的版本更迭主要集中在穩定性、編譯速度、執行效率以及GC性能等底層性能方面,所以說Go語言使用者不必擔心快速的版本更迭帶來的兼容性問題
Go語言這兩年在語言排行榜(https://www.tiobe.com/tiobe-index/)增長曲線如下,總體還是處於上漲趨勢的
大量基於GO語言開發的殺手級應用:Docker、Kubernetes、Go-Ethereum、Thrraform、Moby、Gogs、Grafana、Etcd等。於2009、2016兩次奪得TIOBE年度程式語言的稱號,2020年世界排名處於第12位
#程式語言說到底只是一種工具,不選最好的,只選最合適的
// Go語言適用的場景為:
- 1、伺服器編程,以前你如果使用C或C 做的那些事情,用Go來做很合適,例如處理日誌、資料打包、虛擬機器處理、檔案系統等。
- 2、憑藉其出色的並發能力,Go在分散式系統領域,如叢集系統、遊戲伺服器、資料庫代理程式、中間件等場景同樣極具威力
- 3 、網路編程,這一塊目前應用最廣,包括Web應用、API應用、下載應用,而且Go內建的net/http包基本上把我們平常用到的網路功能都實現了。
- 4、資料庫操作
- 5、開發雲端平台,目前國外很多雲端平台在採用Go開發
// Go語言不適合的場景為:
1、強實時性軟體:話音通訊、無人駕駛、垃圾回收、自動記憶體分配等因素都讓Go在即時性上力不從心
其他
Go 語言被設計成一門應用於搭載Web 伺服器,儲存叢集或類似用途的巨型中央伺服器的系統程式語言。對於高效能分散式系統領域而言,Go 語言無疑比大多數其它語言有著更高的開發效率。它提供了海量並行的支持,這對於遊戲服務端的開發而言是再好不過了。 Go 語言一個非常好的目標就是實現所謂的複雜事件處理(CEP),這項技術要求海量並行支持,高度的抽象和高性能。當我們進入物聯網時代,CEP 必然會成為人們關注的焦點。但 Go 語言同時也是一門可以用來實現一般目標的語言,例如對於文字的處理,前端展現,甚至像使用腳本一樣使用它。值得注意的是,因為垃圾回收和自動記憶體分配的原因,Go 語言不適合用來開發對即時性要求很高的軟體。越來越多的谷歌內部的大型分散式應用程式都開始使用 Go 語言來開發,例如穀歌地球的一部分程式碼就是由 Go 語言完成的。如果你想知道一些其它組織使用Go語言開發的實際應用項目,你可以到 使用 Go 的組織 頁面進行查看。出於隱私保護的考慮,許多公司的專案都沒有展示在這個頁面。在 Chrome 瀏覽器中內建了一款 Go 語言的編譯器用於本機用戶端(NaCl),這很可能會被用於在 Chrome OS 中執行 Go 語言開發的應用程式。 Go 語言可以在 Intel 或 ARM 處理器上運行,因此它也可以在安卓系統下運行,例如 Nexus 系列的產品。在 Google App Engine 中使用 Go 語言:2011 年 5 月 5 日,官方發布了用於開發運行在 Google App Engine 上的 Web 應用程式的 Go SDK,在此之前,開發者只能選擇使用 Python 或 Java。這主要是 David Symonds 和 Nigel Tao 努力的成果。目前最新的穩定版是基於 Go 1.4 的 SDK 1.9.18,於 2015 年 2 月 18 日發布。
以上是go語言圖示是什麼動物的詳細內容。更多資訊請關注PHP中文網其他相關文章!