1 概述
什么是 Go 語言?首先獻(xiàn)上 Go 官網(wǎng)(https://golang.org/)上的一句話:
Go is an open source programming language that makes it easy to build?simple,?reliable, and?efficient?software.
翻譯過來就是,Go 是一種可輕松構(gòu)建簡單、可靠和高效軟件的開源編程語言。展開來說,它是 Google 開發(fā)的一種靜態(tài)強(qiáng)類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言,被譽(yù)為是未來的服務(wù)器端編程語言
Go 又稱 Golang,其雛形誕生于2007年,由 Google 的三位神人(如下圖)領(lǐng)頭開發(fā),于2009年有了第一個版本,并在 Linux 及 MacOSX 平臺上進(jìn)行了實現(xiàn),后追加了 Windows 系統(tǒng)下的實現(xiàn)

目前,用 Go 語言開發(fā)的應(yīng)用越來越多,常見的有 docker, kubernetes, ethereum (以太坊)
2 Go 語言特點
正如 Go 官網(wǎng)上所說,其有三大特性:簡單、可靠、高效
簡單:從關(guān)鍵字上就能可見一斑,相較于 C 的37個和 C++ 的84個關(guān)鍵字,Go 只有25個關(guān)鍵字,而且創(chuàng)始人堅持 Go 將只有這些關(guān)鍵字
可靠:相比于其它的編程語言,Go 更加可靠。比如:雖然提供了指針直接訪問內(nèi)存的機(jī)制,但是不像 C/C++ 可以那么靈活地操作指針,同時提供了垃圾回收機(jī)制;相較于 Java 那么多常見的異常,Go 可能產(chǎn)生異常的情況比較少
高效:快速的編譯速度,開發(fā)效率和運行效率高。開發(fā)過程中相較于 Java 和 C++ 呆滯的編譯速度,Go 的快速編譯時間是一個主要的效率優(yōu)勢。Go 擁有接近 C 的運行效率和接近 PHP 的開發(fā)效率
具體來說,Go 具體以下的特點:
1)沒有繼承多態(tài)的面向?qū)ο?/p>
2)interface 不需要顯式聲明 (Duck Typing)
3)強(qiáng)一致類型
4)沒有異常處理 (Error is value)
5)基于首字母大小寫的可訪問特性
6)不用的 import 或者變量引起編譯錯誤
7)完整而卓越的標(biāo)準(zhǔn)庫包,內(nèi)置 runtime(作用是性能監(jiān)控、垃圾回收等)