「最近将會更新 Go 語言入門的系列文章,非常基礎。适合小白入門或者零基礎的同學,已有相關 Go 基礎的同學可以略過。」
❝
可愛的 Golang 吉祥物,出自 Golang 設計者之一 Rob Pike 之妻 Renee French
❞

由 Google 于 2007 年開發,并于 2009 年開源的 Golang 語言,至今已經走過了将近 10 個年頭。自 2012 年 Golang 1.0 穩定版本釋出以來,憑借其獨特的魅力在全球範圍内吸引了衆多的開發者和發展了數量龐大的活躍社群。
Golang 在多核并發上擁有原生的設計優勢,充分利用現代硬體性能又兼顧開發效率,設計的目标是為了發揮類似 Python 等動态語言開發速度,并在此基礎上提供 C/C++ 等編譯型語言的性能和安全。
Golang 具備很強的語言表達能力,支援靜态類型安全,能夠快速編譯大型項目;同時也能夠讓開發人員通路底層作業系統,極力挖掘計算機 CPU 資源,還提供了強大的網絡程式設計和并發程式設計支援。
Golang 具備以下特性:
- 從底層支援并發,無需第三方庫支援,對開發者的程式設計技巧和開發經驗要求低;
- 支援自動垃圾回收,避免記憶體洩露
- 支援函數多傳回值
- 支援匿名函數和閉包
- 支援反射
- 更好的性能
- 提供強大的标準庫支援
- 快速、靜态類型的編輯型語言,同時提供動态語言特性
Golang 簡單、高效、并發的特性吸引了衆多開發人員加入到 Golang 開發的大家庭中,目前已經湧現大量通過 Golang 原生開發的大型開源項目, 并在軟體行業中發揮重要作用,其中包括 Docker、Kubernetes、etcd 等。
環境安裝
“工欲善其事,必先利其器”,想要用好 Golang 這門開發利器,首先需要安裝好 Golang 的相關開發環境。Golang 自帶編譯器,是以我們僅需要安裝 Golang 開發包即可。
Go 開發包安裝
Golang 開發包可以從以下兩個網址中擷取:
- Golang 中文網 https://studygolang.com/dl
- Golang 官網 https://golang.org/dl/
MacOS 和 Windows 的安裝由讀者自行完成,僅需要下載下傳對應版本的安裝器一路安裝即可完成。接下來僅介紹 Linux 上的 Golang 開發包安裝。
「第 0 步」
安裝可能需要的下載下傳程式 wget:
yum -y install wget
「第 1 步」
下載下傳 Golang 開發包:
wget -c
https://studygolang.com/dl/golang/go1.12.4.linux-amd64.tar.gz
以上下載下傳的 Golang 版本為 1.12.4,大家可以根據目前最新版本進行下載下傳。
「第 2 步」
解壓開發包:
tar -C /home/ -xzf go1.12.4.linux-amd64.tar.gz
根據個人的需要,可以将開發包放置到指定的目錄下。此處将開發包解壓到
/home/
目錄下。解壓後的目錄概要如下,它嚴格遵守 GOPATH 規則。在接下來的章節中會對 GOPATH 規則和相關目錄命名進行詳細介紹,它是 Golang 編譯的核心規則。
├── api //每個版本的 api 變更差異
├── AUTHORS
├── bin //golang 源碼包編譯出的編譯器(go)、文檔工具(godoc)、格式化工具(gofmt)
├── CONTRIBUTING.md
├── CONTRIBUTORS
├── doc //golang 文檔
├── favicon.ico
├── lib // 引用的庫依賴
├── LICENSE
├── misc
├── PATENTS
├── pkg //各個作業系統平台編譯好的中間檔案
├── README.md
├── robots.txt
├── src //标準庫的源碼
├── test //測試用例
└── VERSION
「第 3 步」
将 go/bin 添加到 PATH 環境變量中:
export PATH=$PATH:/home/go/bin
「第 4 步」
驗證 Golang 開發包是否安裝成功:
go version
如果安裝順利的話,指令行将輸出對應的 Golang 版本,如下所示:
go version go1.12.4 linux/amd64
安裝後 Golang 開發環境後,我們即将進入到 Golang 的開發海洋中。
小結
關于內建開發環境,讀者們可以按照自己的喜好自行選擇相關的內建開發環境。如果可能的話,我在此推薦 Jetbarins 公司的 Goland 內建開發環境,相關位址為:
https://www.jetbrains.com/go/。在代碼示範中,我們将盡量通過指令行的方式對程式進行編譯和調試,減少對開發環境的依賴。
閱讀最新文章,歡迎關注公衆号:aoho 求索