工欲善其事,必先利其器!在學習和使用 Golang 時如果有一款得心應手的 IDE,相信一定可以事半功倍。雖然很多 IDE 都提供了對 Golang 的支持,但真正好用的沒幾個。VSCode 算是不錯的一個,但比起收費的 GoLand 還有些差距。本文結合 Golang 和 GoLand 的安裝介紹如何構建一個基本的 go 語言開發環境。文中演示所用環境為 Ubuntu 18.04 desktop。
安裝 Golang
從 Golang 的官網下載 Linux 版本的安裝包,筆者下載到的最新的穩定版為 1.10.1。下載完成后檢查一下完整性:
$ sha256sum go1.10.1.linux-amd64.tar.gz
與下載頁面中的 Checksum 核對無誤后進入下面的安裝步驟:
- 解壓縮安裝包
- 配置 PATH 變量
- 運行 hello world
解壓縮安裝包
一般情況下我們會把 go 語言相關的工具安裝在 /usr/local 目錄下,當然你可以選擇其它的目錄。這里我們就選擇 /usr/local 目錄進行安裝(其實就是個解壓縮操作):
$ sudo tar -C /usr/local -xf go1.10.1.linux-amd64.tar.gz
解壓縮后安裝也差不多就完成了,具體的目錄為 /usr/local/go,目錄下的內容如下:
配置 PATH 變量
和 Linux 下的大多數應用程序一樣,我們得為安裝的 go 語言相關的程序配置 PATH 環境變量。具體做法就是把 /usr/local/go/bin 這個路徑添加到 PATH 變量中:
export PATH=$PATH:/usr/local/go/bin
可以在不同的位置添加環境變量,比如 /etc/profile 或 $HOME/.profile 等。不同之處是 /etc/profile 中的配置是共享給主機上的所有用戶的,而 $HOME/.profile 中的配置只對當前用戶起作用。筆者選擇在 /etc/profile 中添加 PATH 變量的配置信息:
$ sudo vim /etc/profile
把上面的 export 語句添加到文件的最后一行:
保存該文本並退出登錄,然后重新登錄一次系統。執行下面的命令查看 PATH 變量的內容:
$ echo $PATH | grep go
看到 PATH 變量的輸出中包含 /usr/local/go/bin 路徑就說明 PATH 變量已經設置成功。也就是說,無論當前路徑在哪里都可以直接執行 go 命令了:
$ go
其實到這里我們已經完成了 go 語言開發環境的安裝。下面我們來運行一個 hello world 程序。
運行 hello world
在 go 語言的開發環境中有工作區的(即 workspace)概念,你必須設置一個工作區,然后按照約定的目錄等規則進行開發工作。如果我們沒有設置工作區,go 語言的開發環境會認為我們在使用默認的工作區,即 $HOME/go 目錄。當然你可以自己動手通過 GOPATH 環境變量設置一個更符合你個人習慣的目錄作為工作區,這里我們使用默認的目錄。
按照約定,你的程序代碼需要放置在工作區下的 src 目錄下,所以在寫代碼前我們需要為我們的程序創建一個存放代碼的目錄:
$ mkdir -p ~/go/src/hello && cd $_
go 語言代碼文件的后綴為 .go,因此我們在 hello 目錄下創建名為 hello.go 的源代碼文件,並編輯其內容如下:
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
保存后執行下面的構建命令:
$ go build
這會在當前目錄生成一個名為 hello 的可以執行文件:
執行 hello 程序:
$ ./hello
輸出的 "hello, world" 字符串證明我們安裝的 go 開發環境是能夠正常工作的!
如果我們把 go build 命令換成 go install 命令呢?試試看:
$ go install
執行后當前目錄中的 hello 可執行文件消失了,原來它被安裝到了 ~/go/bin 目錄下:
原來 go install 命令的作用就是在編譯完成后把程序安裝到工作區中的 bin 目錄下。 在 go 語言的開發中,還有很多類似的約定,比如你引用的包默認會被安裝在工作區中的 pkg 目錄下,單元測試命令只認為以 _test.go 結尾的文件是測試文件等。不要困惑也不要驚訝,這就是 go 語言的設計理念,慢慢熟悉吧!
安裝 GoLand IDE
從 jetbrains 官網下載最新的 GoLand 安裝包,同樣選擇 Linux 版本,筆者下載到的版本為 goland-2018.1.2.tar.gz。下載完成后檢查一下完整性(筆者下載的版本為 goland-2018.1.2.tar.gz):
$ sha256sum goland-2018.1.2.tar.gz
與下載頁面中的 Checksum 核對無誤后進入下面的安裝步驟:
- 解壓縮安裝包
- 執行安裝腳本
- 添加到 favorite bar
- Run a demo
解壓縮安裝包
按照 GoLand 官方文檔的建議,把安裝包解壓縮到 /opt 目錄:
$ sudo tar -C /opt -xf goland-2018.1.2.tar.gz
執行安裝腳本
進入解壓縮的目錄下的 bin 目錄中,然后執行 goland.sh 腳本:
$ cd /opt/GoLand-2018.1.2/bin/ $ ./goland.sh //(此處不需要 sudo)
在安裝過程中需要一些 UI 交互,主要是確認用戶協議和輸入 license 信息(建議購買正版軟件)。需要注意的是在安裝完成后創建或打開項目前,請在 "Configure" 中選擇 "Create Desktop Entry":
然后選擇 New Project 創建一個名為 hrefcounter 的 demo 工程,並選擇 Go 1.10.1 作為 SDK。
添加到 favorite bar
先關閉 GoLand IDE,為了今后能夠方便的打開 GoLand,我們需要把它的圖標添加到 Favorite bar 上。具體做法是,點擊窗口左下角的 "Show Applications" 按鈕,然后找到 GoLand 的桌面圖標,右鍵該圖標並選擇 "Add to Favorites":
然后就可以通過點擊 Favorite bar 上的圖標來啟動 GoLand 了:
Run a demo
點擊 Favorite bar 上的 GoLand 圖標啟動 GoLand IDE,打開我們剛才創建的 hrefcounter 項目。在項目的根目錄下創建 app.go 文件,把這里的代碼拷貝到 app.go 文件中並保存。然后按 Alt + F12 快捷鍵打開一個 GoLand 中的終端,並執行下面命令:
$ go get -d -v golang.org/x/net/html
上面的命令執行完成后,在按 Alt + Shift + F10 快捷鍵,並選擇 "go build app.go" 開始執行程序:
該程序本身很簡單,就是統計博客園主頁上的鏈接數:
{"internal":143,"external":36}
如果返回類似上面的結果,說明程序執行完成,並成功返回,同時您的 Golang 開發環境也已經打造完成了!
總結
構建一個開發環境是非常簡單的事情,難的是接下來一步一個腳印的學習和使用 Golang。對 Golang 感興趣的同學們,接下來和筆者一起開啟 Golang 的學習之旅吧!