html5網(wǎng)站動效怎么做百度一下官網(wǎng)首頁百度一下百度
Go語言
Go語言是由 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)強(qiáng)類型、編譯型語言。
Go 語言(或稱 Golang)是云計算時代的C語言。Go語言的誕生是為了讓程序員有更高的生產(chǎn)效率,Go語言專門針對多處理器系統(tǒng)應(yīng)用程序的編程進(jìn)行了優(yōu)化,使用Go編譯的程序可以媲美 C或 C++代碼的速度,而且更加安全、支持并行進(jìn)程。
開發(fā)人員在為項目選擇語言時,不得不在快速開發(fā)和性能之間做出選擇。C和C++這類語言提供了很快的執(zhí)行速度,而Ruby和Python 這類語言則擅長快速開發(fā)。Go 語言在這兩者間架起了橋梁,不僅提供了高性能的語言,同時也讓開發(fā)更快速。
Go語言的設(shè)計目標(biāo)是將靜態(tài)語言的安全性和性能與動態(tài)語言的易用性相結(jié)合。Go語言在語言層面提供了對協(xié)程的支持,特別適合編寫高并發(fā)的項目。隨著使用Go語言開發(fā)的Docker、Kubernetes、Isito等容器化技術(shù)的興起,Go語言越來越被廣大開發(fā)者所青睞。
Go語言優(yōu)勢
- 可直接編譯成機(jī)器碼,不依賴其他庫,glibc的版本有一定要求,部署直接給一個文件即可。
- Go語言是靜態(tài)類型語言,但是有動態(tài)語言的感覺,可以在編譯的時候檢查出來隱藏的大多數(shù)問題,并且有很多的包可以使用,寫起來的效率很高。(C是編譯性語言–靜態(tài)語言,python是解析性語言)
- 語言層面支持并發(fā)。Go可以充分的利用多核,很容易的使用并發(fā)。
- 內(nèi)置mntime,支持垃圾回收,也就是我們動態(tài)分配的空間不需要手動釋放,特別是Go1.1之后的 GC。
- 簡單易學(xué),Go關(guān)鍵字是25個,但是表達(dá)能力很強(qiáng)大,幾乎支持大多數(shù)我們在其他語言見過的特性:繼承、重載、對象等。
- 豐富的標(biāo)準(zhǔn)庫,Go目前已經(jīng)內(nèi)置了大量的庫,特別是網(wǎng)絡(luò)庫非常強(qiáng)大。
- 內(nèi)置強(qiáng)大的工具,Go語言里面內(nèi)置了很多工具鏈,自動化格式化代碼等等。
- 跨平臺編譯,如果Go代碼不包含 cg0,那么就可以做到 window 系統(tǒng)編譯 linu的應(yīng)用
- 內(nèi)嵌C支持,Go里面也可以直接包含C代碼,利用現(xiàn)有的豐富的C庫。
總結(jié):1. 部署簡單;2.雖然是靜態(tài)語言,但是支持很多庫,開發(fā)效率很高;3.支持垃圾回收;4.語言層面的并發(fā);5. 擁有豐富的第三方庫。
Go語言適合用來做什么?
- 服務(wù)器編程,例如處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)等。
- 分布式系統(tǒng),數(shù)據(jù)庫代理器等。
- 網(wǎng)絡(luò)編程,包括Web應(yīng)用、API應(yīng)用、下載應(yīng)用。
- 內(nèi)存數(shù)據(jù)庫,如google丌發(fā)的groupcache,couchbase 的部分組建。
- 云平臺,目前國外很多云平臺在采用 Go開發(fā),例如CloudFoundy 的部分組建,apcera 云平臺。
Go語言推薦學(xué)習(xí)路徑
Golang語言中文網(wǎng)
- 搜索我們需要的命令,例如
fmt
- 點(diǎn)擊進(jìn)入