Go基础编程:Go语言介绍
生活随笔
收集整理的這篇文章主要介紹了
Go基础编程:Go语言介绍
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Go語言是什么
2009年11月10日,Go語言正式成為開源編程語言家庭的一員。
Go語言(或稱Golang)是云計(jì)算時(shí)代的C語言。Go語言的誕生是為了讓程序員有更高的生產(chǎn)效率,Go語言專門針對多處理器系統(tǒng)應(yīng)用程序的編程進(jìn)行了優(yōu)化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持并行進(jìn)程。
開發(fā)人員在為項(xiàng)目選擇語言時(shí),不得不在快速開發(fā)和性能之間做出選擇。C和C++這類語言提供了很快的執(zhí)行速度,而 Ruby 和 Python 這類語言則擅長快速開發(fā)。Go語言在這兩者間架起了橋梁,不僅提供了高性能的語言,同時(shí)也讓開發(fā)更快速。
Go語言優(yōu)勢
- 可直接編譯成機(jī)器碼,不依賴其他庫,glibc的版本有一定要求,部署就是扔一個(gè)文件上去就完成了。
- 靜態(tài)類型語言,但是有動態(tài)語言的感覺,靜態(tài)類型的語言就是可以在編譯的時(shí)候檢查出來隱藏的大多數(shù)問題,動態(tài)語言的感覺就是有很多的包可以使用,寫起來的效率很高。
- 語言層面支持并發(fā),這個(gè)就是Go最大的特色,天生的支持并發(fā)。Go就是基因里面支持的并發(fā),可以充分的利用多核,很容易的使用并發(fā)。
- 內(nèi)置runtime,支持垃圾回收,這屬于動態(tài)語言的特性之一吧,雖然目前來說GC不算完美,但是足以應(yīng)付我們所能遇到的大多數(shù)情況,特別是Go1.1之后的GC。
- 簡單易學(xué),Go語言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go關(guān)鍵字是25個(gè),但是表達(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)置了很多工具鏈,最好的應(yīng)該是gofmt工具,自動化格式化代碼,能夠讓團(tuán)隊(duì)review變得如此的簡單,代碼格式一模一樣,想不一樣都很困難。
- 跨平臺編譯,如果你寫的Go代碼不包含cgo,那么就可以做到window系統(tǒng)編譯linux的應(yīng)用,如何做到的呢?Go引用了plan9的代碼,這就是不依賴系統(tǒng)的信息。
- 內(nèi)嵌C支持,Go里面也可以直接包含C代碼,利用現(xiàn)有的豐富的C庫。
Go適合用來做什么
- 服務(wù)器編程,以前你如果使用C或者C++做的那些事情,用Go來做很合適,例如處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)等。
- 分布式系統(tǒng),數(shù)據(jù)庫代理器等。
- 網(wǎng)絡(luò)編程,這一塊目前應(yīng)用最廣,包括Web應(yīng)用、API應(yīng)用、下載應(yīng)用。
- 內(nèi)存數(shù)據(jù)庫,如google開發(fā)的groupcache,couchbase的部分組建。
總結(jié)
以上是生活随笔為你收集整理的Go基础编程:Go语言介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最短路径问题 --- Dijkstra算
- 下一篇: Go基础编程:环境搭建