小猿圈怎麼上之Go語言推薦

編程語言在最近幾年成爲了高薪產業的代名詞,不管是之前有沒有基礎的同窗均可以學習編程改變本身的生活,雖然前期會有一些挫折,這個是在所不免的,今天小猿圈講講爲何go語言推薦。正則表達式


Go語言做爲一個新的編程語言,不少人都挺喜歡,也寫了很多推薦,互聯網公司中在生產系統中使用Go的(主要是在雲端服務中)也在逐漸增多。恰好這幾天和同事討論到這個話題,這裏提供一個個人版本的推薦:編程

1. Go很好地繼承了C語言靈活、簡單有效的思想。服務器

我一直認爲系統工程師應該讀Linux內核代碼,同一套代碼,能夠跑在小到耳機,大到100核的服務器的全部設備上,並且改改配置就能夠一鍵build出可跑的內核出來。這樣靈活的系統,代碼可讀性還至關不錯,歸功於C語言簡單有效的設計,讓C很有點「增一分則太肥,減一分則太瘦」的意思。傳統的C++則是反面例子,新增語言功能的「投資回報」較差(C++11卻是解決了很多問題)。而Go繼承了C的這些風格,雖然細節不一樣,好比沒有指針算術,在底層系統操做方面靈活性有所降低,但在不少方面變得更強大(併發性、自動內存管理等等)。Go的關鍵詞數量甚至少於C(25 vs. 30左右),簡單性保持得很好。併發

2. Go有很高的生產效率。編程語言

舉兩個例子,Go不須要build文件(Makefile, Java的build.xml, pom.xml這些),而是隻須要執行」go build」便可,經過目錄結構本身找到項目結構。經過這樣的「約定優於配置」(convention over configuration)的設計,大大提升了效率。第二個例子是調用C代碼的cgo的設計,使用過Java的JNI(包括Android的NDK)的朋友應該知道,那來回生成.h文件,本身編譯DLL/.so的感受是很酸爽的。而在Go這裏簡單到能夠把C代碼直接嵌到Go代碼同一個文件裏,而後」go build」就能夠。效率就是節省的生命和金錢啊。學習

3. Go精選了一些復瑣事情的優秀解決辦法,經過語言功能和標準庫提供出來。ui

好比並發性功能,goroutine和channels的確就是比線程和流更好的抽象。而JSON/XML/HTTP/正則表達式這些,都有標準庫的良好支持。這裏Go有別於Swift,在語言特性的引入上很剋制,很「精選」。對比Go,Swift感受有點像個「學究」型的語言,引入了大批的語言特性,每一個都很正確,但合起來就變得感受繁瑣。線程

關於Go語言推薦以上就是小猿圈講師的簡單建議,若是你對go語言感興趣,那麼能夠關注我,天天分享一個知識點,定能幫你學有所成小猿圈GO語言自學交流羣:993092624。要了解更多關於go語言開發方面內容的小夥伴,請小猿圈怎麼上裏面有你須要的視頻課程。設計

相關文章
相關標籤/搜索