「最近將會更新 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 求索