溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Google Go 語言的必備開源項目有哪些

發(fā)布時間:2021-10-12 09:29:56 來源:億速云 閱讀:221 作者:柒染 欄目:云計算

本篇文章為大家展示了Google Go 語言的必備開源項目有哪些,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Go 語言于 2009 年 11 月正式宣布推出,成為開放源代碼項目,發(fā)展至今已經(jīng)具有越來越廣泛的影響力,今年更是在 TIOBE 編程語言排行榜中躋身 20 強。很多開發(fā)者也逐漸將目光投向這門語言。

關于 Go 語言:

Go 是 Google 開發(fā)的一種編譯型,并發(fā)型,并具有垃圾回收功能的編程語言。由于其構(gòu)建簡化了并發(fā)運行代碼的工作,存在并行編程模式,因此這一語言也被設計用來解決多處理器的任務。Go語言是基于Inferno操作系統(tǒng)所開發(fā)的,并在Linux及Mac OS X平臺上進行了實現(xiàn),后追加 Windows 系統(tǒng)下的實現(xiàn)。

Go 語言起源 2007 年,并于 2009 年正式對外發(fā)布。它從 2009 年 9 月 21 日開始作為谷歌公司 20% 兼職項目,即相關員工利用 20% 的空余時間來參與 Go 語言的研發(fā)工作。該項目的三位領導者均是著名的 IT 工程師:Robert Griesemer,參與開發(fā) Java HotSpot 虛擬機;Rob Pike,Go 語言項目總負責人,貝爾實驗室 Unix 團隊成員,參與的項目包括 Plan 9,Inferno 操作系統(tǒng)和 Limbo 編程語言;Ken Thompson,貝爾實驗室 Unix 團隊成員,C 語言、Unix 和 Plan 9 的創(chuàng)始人之一,與 Rob Pike 共同開發(fā)了 UTF-8 字符集規(guī)范。這是一個由計算機領域 “發(fā)明之父” 所組成的黃金團隊,他們對系統(tǒng)編程語言,操作系統(tǒng)和并行都有著非常深刻的見解。

Google Go 語言的必備開源項目有哪些

一、入門篇

0. 開源圖書 《Go Web編程》

一本開源的書籍《Go Web編程》《build web application with golang》。書中作者主要分享了Go寫web應用的一些東西:

  • 對于從php/python/ruby轉(zhuǎn)過來的同學了解go怎么寫web應用開發(fā)的

  • 對于從c/c++轉(zhuǎn)過來的同學了解web到底是怎么運行起來的

Google Go 語言的必備開源項目有哪些

2. 視頻語音教程《Go 編程基礎》

《Go 編程基礎》是一套針對 Google 出品的Go語言的視頻語音教程,主要面向新手級別的學習者。每堂課都會建立一個文件(例如:lecture1.md)作為課堂筆記。課堂筆記中里面包含了該堂課所涵蓋的知識點以及知識點開始講解的時間點,方便學習者快速定位要了解的部分,節(jié)省不必要浪費的時間。此外,如果教程中因口誤或其它原因使學習者產(chǎn)生迷惑的部分,同樣會在課堂筆記中進行補充說明。

3.Go 的包文檔中文翻譯

這是 Go 語言的標準包和部分第三方包的包文檔中文翻譯。

項目源碼:http://git.oschina.net/liudiwu/pkgdoc
在線瀏覽:http://mygodoc.oschina.mopaas.com/

二、開發(fā)篇

0. Go 語言開發(fā)工具 LiteIDE

LiteIDE 是一款開源、跨平臺的輕量級Go語言集成開發(fā)環(huán)境(IDE)。

Google Go 語言的必備開源項目有哪些

1. 基于 Web 的團隊 Go 語言 IDE Wide

目前較為流行的 Go IDE 都有一些缺陷或遺憾:

  • 文本編輯器類(vim/emacs/sublime/Atom 等):對于新手門檻太高,搭建復雜

  • 插件類(goclipse 等):需要原 IDE 支持,不夠?qū)I(yè)

  •  LiteIDE:界面不夠 modern 

  •  沒有團隊開發(fā)體驗

Go IDE 很少,用 Go 本身開發(fā)的 IDE 更是沒有,而 Go IDE 這是一個很好的嘗試。

在線體驗:https://wide.b3log.org

Google Go 語言的必備開源項目有哪些

2. Eclipse 的 Go 插件 GoClipse

GoClipse 是一個為Eclipse平臺添加 Go 語言編程功能的 Eclipse 插件。GoClipse 的目的是為初學者創(chuàng)造一個開發(fā) Go 語言的環(huán)境。平臺發(fā)展比較緩慢,但一直在持續(xù)。

Google Go 語言的必備開源項目有哪些

3. 代碼編輯器 Lime

Fredrik Ehnbom 用 Go 語言開發(fā)了新代碼編輯器 Lime Text,號稱Sublime Text 的開源實現(xiàn)。其兼容Sublime Text的快捷鍵設置,兼容 Textmate 的顏色主題及語法定義。 Lime Text 的后端采用 Go 實現(xiàn),前端則使用了 ermbox,Qt (QML) 及 HTML/JavaScript。

Google Go 語言的必備開源項目有哪些

4. Go 的全堆棧 Web 框架 Revel

Revel 是一個高生產(chǎn)力的 Go 語言 Web 框架,其思路完全來自 Java 的 Play Framework。Revel 框架支持熱編譯,當編輯、保存和刷新源碼時,Revel 會自動編譯代碼和模板;全棧特性,支持路由、參數(shù)解析、緩存、測試、國際化等功能。

5. Go 程序調(diào)試工具 godebug

godebug 是一個與眾不同的 Go 程序調(diào)試工具,傳統(tǒng)的編譯型語言調(diào)試器使用底層系統(tǒng)調(diào)用并讀取二進制文件用于調(diào)試各類符號。使用起來很麻煩而且很難移植。godebug 使用不同的方法,直接把源碼作為目標程序,在每一行插入調(diào)試代碼,然后編譯并運行。結(jié)果就是一個全功能的調(diào)試器,完全可以移植到不同平臺。事實上,由于有了 gopherjs ,你也可以在瀏覽器上進行調(diào)試。

Google Go 語言的必備開源項目有哪些

三、應用篇

0. Linux 容器引擎 Docker

Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數(shù)據(jù)中心中運行。最重要的是,他們不依賴于任何語言、框架或包裝系統(tǒng)。

Google Go 語言的必備開源項目有哪些

2. 極易搭建的自助 Git 服務 Gogs

Gogs 的目標是打造一個最簡單、最快速和最輕松的方式搭建自助 Git 服務。使用 Go 語言開發(fā)使得 Gogs 能夠通過獨立的二進制分發(fā),并且支持 Go 語言支持的所有平臺,包括 Linux、Mac OS X、Windows 以及 ARM 平臺。

Google Go 語言的必備開源項目有哪些

3 . Go 爬蟲軟件 Pholcus

Pholcus(幽靈蛛)是一款純Go語言編寫的支持分布式的高并發(fā)、重量級爬蟲軟件,定位于互聯(lián)網(wǎng)數(shù)據(jù)采集,為具備一定 Go 或 JS 編程基礎的人提供一個只需關注規(guī)則定制的功能強大的爬蟲工具。

Google Go 語言的必備開源項目有哪些

5. 開源消息系統(tǒng) NSQ

NSQ 是無中心設計、節(jié)點自動注冊和發(fā)現(xiàn)的開源消息系統(tǒng)??勺鳛閮?nèi)部通訊框架的基礎,易于配置和發(fā)布。架構(gòu):

Google Go 語言的必備開源項目有哪些

6. 時序、事件和指標數(shù)據(jù)庫 InfluxDB

InfluxDB 是一個開源分布式時序、事件和指標數(shù)據(jù)庫。使用 Go 語言編寫,無需外部依賴。其設計目標是實現(xiàn)分布式和水平伸縮擴展。

7. 開源 PaaS 系統(tǒng) Flynn

Flynn 是一個開源的 PaaS 系統(tǒng),由 Docker 開發(fā)。采用 Go 語言編寫。支持數(shù)據(jù)庫包括 Postgres、RedisMongoDB. Flynn 使用完全組件化模塊化的設計,任何一個組件和模塊都可以獨立的進行替換。

開源中國組織翻譯的 Flynn 中文文檔:http://flynn.mydoc.io

Google Go 語言的必備開源項目有哪些

9. 分布式 SQL 數(shù)據(jù)庫 TiDB

TiDB 是國內(nèi) PingCAP 團隊開發(fā)的一個分布式 SQL 數(shù)據(jù)庫。其靈感來自于 Google 的 F1, TiDB 支持包括傳統(tǒng) RDBMS 和 NoSQL 的特性。

TiDB 的源碼已經(jīng)托管在 Git@OSC 上,詳情請查看:http://git.oschina.net/ngaut/tidb

架構(gòu):

Google Go 語言的必備開源項目有哪些

10. Go 開發(fā)的 IM 和推送服務 goim

goim 是一個支持集群的im及實時推送服務(支持websocket,http和tcp協(xié)議)。

不過雖然 Go 發(fā)展很快,開發(fā)者們還是應該根據(jù)自己的實際情況選擇是否要深入了解這門語言及其應用。

上述內(nèi)容就是Google Go 語言的必備開源項目有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI