開始使用 GoLang

安裝 Golang

Windows

透過官網下載 msi 安裝檔: https://golang.org/dl/ ,安裝檔會自動將資料夾 c:\Go\bin 資料夾加到 PATH 環境變數底下,安裝完記得 設定 GOPATH 環境變數,重新開機後可以開始使用。

Mac / Linux

Unix 環境可以使用 gvm 快速安裝並切換不同 Go 語言的版本: https://github.com/moovweb/gvm#installing

顯示 Go 版本

go version  

查看 Go 環境

使用 go env 查看 Go 相關環境變數,結果如下面的例子:

GOARCH="amd64"  
GOBIN=""  
GOEXE=""  
GOHOSTARCH="amd64"  
GOHOSTOS="darwin"  
GOOS="darwin"  
GOPATH="/Users/garfieldduck/Documents/GoWork"  
GORACE=""  
GOROOT="/usr/local/opt/go/libexec"  
GOTOOLDIR="/usr/local/opt/go/libexec/pkg/tool/darwin_amd64"  
CC="clang"  
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/ly/c6f9637d4zlc7km00pg6znhc0000gn/T/go-build865350722=/tmp/go-build -gno-record-gcc-switches -fno-common"  
CXX="clang++"  
CGO_ENABLED="1"  
  • GOROOT: Golang 安裝的位置
  • GOPATH: 告訴 Go tool workspace 位在哪裡

GOPATH 底下資料夾

GOPATH 底下一般會細分三個資料夾:

  • src - 存放 Go 程式碼的地方 (例如 .go 程式碼)
  • pkg - Go packages 編譯後的產生的文件
  • bin - 已安裝的可執行檔

試著安裝一個 Package 便可以看到 GOPATH 底下自動產生的三個資料夾。

透過 go get 從網路抓取 go package,並放到 GOPATH 底下 (其中的原始檔 src 以及已經編譯的 pkg):

go get gopkg.in/gin-gonic/gin.v1  

go install 指令則是安裝指定的 Package,把可執行檔放到 $GOPATH/bin 底下(下面的例子會產生 $GOPATH/bin/gin):

go install gopkg.in/gin-gonic/gin.v1  

了解 Go 的 Package

所有 Go 原始碼都是 package 的一部分,所有檔案都從 package statement 開始,而程式則從 main 開始執行:

package main

import "fmt"

func main() {  
    fmt.Println("Hello, world!")
}

檔案中大寫開頭的 function 為 exported function,可以讓外部程式碼呼叫:

// PrintHello prints hello
func PrintHello() {  
...
}

小寫開頭的 function 外部則不可以呼叫,為 unexported function:

func sayHello() {  
...
}