一 下載地址
安裝包下載地址為:https://golang.org/dl/。
如果打不開可以使用這個地址:https://golang.google.cn/dl/。
各個系統對應的包名:
操作系統 | 包名 |
---|---|
Windows | go1.13.3.windows-amd64.msi |
Linux | go1.13.3.linux-amd64.tar.gz |
Mac | go1.13.3.darwin-amd64.pkg |
FreeBSD | go1.13.3.freebsd-amd64.tar.gz |
二 安裝
Linux安裝
1、下載二進制包:go1.13.3.linux-amd64.tar.gz
2、將下載的二進制包解壓至 /usr/local目錄。
tar -C /usr/local -xzf go1.13.3.linux-amd64.tar.gz
3、將 /usr/local/go/bin 目錄添加至PATH環境變量:
export PATH=$PATH:/usr/local/go/bin
Windows安裝
Windows 下可以使用 .msi 后綴(在下載列表中可以找到該文件,如go1.13.3.windows-amd64.msi)的安裝包來安裝。
默認情況下 .msi 文件會安裝在 c:\Go 目錄下。你可以將 c:\Go\bin 目錄添加到 Path 環境變量中。添加后你需要重啟命令窗口才能生效
Mac安裝
Mac下直接雙擊go1.13.3.darwin-amd64.pkg,一路下一步安裝即可
三 測試安裝
1、創建工作目錄 C:>Go_Project。
2、 創建文件test.go,寫入如下代碼
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
3、打開cmd,切換目錄到C:>Go_Project下,執行如下命令:
go run test.go
看到打印結果:
Hello, World!
四 命令介紹
基本介紹
直接在終端中輸入 go help
即可顯示所有的 go 命令以及相應命令功能簡介,主要有下面這些:
- build: 編譯包和依賴
- clean: 移除對象文件
- doc: 顯示包或者符號的文檔
- env: 打印go的環境信息
- bug: 啟動錯誤報告
- fix: 運行go tool fix
- fmt: 運行gofmt進行格式化
- generate: 從processing source生成go文件
- get: 下載並安裝包和依賴
- install: 編譯並安裝包和依賴
- list: 列出包
- run: 編譯並運行go程序
- test: 運行測試
- tool: 運行go提供的工具
- version: 顯示go的版本
- vet: 運行go tool vet
build 和 run 命令
就像其他靜態類型語言一樣,要執行 go 程序,需要先編譯,然后在執行產生的可執行文件。go build
命令就是用來編譯 go程序生成可執行文件的。但並不是所以的 go 程序都可以編譯生成可執行文件的, 要生成可執行文件,go程序需要滿足兩個條件:
- 該go程序需要屬於main包
- 在main包中必須還得包含main函數
也就是說go程序的入口就是 main.main
, 即main包下的main函數, 例子(test.go):
編譯hello.go,然后運行可執行程序:
$ go run test.go # 將會生成可執行文件 test
$ ./test # 運行可執行文件
Hello, World!
上面就是 go build 的基本用法,另外如果使用 go build 編譯的不是一個可執行程序,而是一個包,那么將不會生成可執行文件。
而 go run
命令可以將上面兩步並為一步執行(不會產生中間文件)。
$ go run test.go
Hello, World!
上面兩個命令都是在開發中非常常用的。
此外 go clean 命令,可以用於將清除產生的可執行程序:
$ go clean # 不加參數,可以刪除當前目錄下的所有可執行文件
$ go clean hello.go # 會刪除對應的可執行文件
get 命令
這個命令同樣也是很常用的,我們可以使用它來下載並安裝第三方包, 使用方式:
go get src
從指定源上面下載或者更新指定的代碼和依賴,並對他們進行編譯和安裝,例如我們想使用 beego 來開發web應用,我們首先就需要獲取 beego:
go get github.com/astaxie/beego
這條命令將會自動下載安裝 beego 以及它的依賴,然后我們就可以使用下面的方式使用:
package main
import "github.com/astaxie/beego" # 這里需要使用 src 下的完整路徑
func main() {
beego.Run()
}