1、訪問go的官網
- Go官網下載地址:https://studygolang.com/dl
- Go官方鏡像站(推薦): https://golang.google.cn/dl/
wget https://studygolang.com/dl/golang/go1.17.7.linux-amd64.tar.gz
2、解壓到/usr/local文件夾下
tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz
3、gopath文件夾
home目錄下, 建立一個名為gopath的目錄,gopath下再建立3個目錄pkg、bin、src
執行以下命令:
mkdir -p /home/go/src /home/go/pkg /home/go/bin
4、編輯環境變量
由于我用的是oh-my-zsh,所以我編輯.zshrc,也可以直接編輯vi /etc/profile
vim ~/.zshrc
切換到文件最后按下"o"鍵,下一行開始插入
export GOROOT=/usr/local/go
export GOPATH=/home/gopath
export PATH=GOROOT/bin:$GOPATH/bin
5、配置生效
source ~/.zshrc
或者source /etc/profile
取決于你上面編輯的哪個文件
6、go env執行是否生效
7、vim main.go
package main
import "fmt"
func main() {
fmt.Println("hello, world")
}
gopath設定
代碼開發必須在go path src目錄下,不然,就有問題。
依賴手動管理
依賴包沒有版本可言
8、go mod
官方定義:
模塊是相關Go包的集合。modules是源代碼交換和版本控制的單元。 go命令直接支持使用modules,包括記錄和解析對其他模塊的依賴性。modules替換舊的基于GOPATH的方法來指定在給定構建中使用哪些源文件。
注意版本:go modules 是 golang 1.11 新加的特性,需要>=1.11版本才可
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
9、關于GO111MODULE
GO111MODULE 有三個值:off, on和auto(默認值)。
GO111MODULE=off,go命令行將不會支持module功能,尋找依賴包的方式將會沿用舊版本那種通過vendor目錄或者GOPATH模式來查找。
GO111MODULE=on,go命令行會使用modules,而一點也不會去GOPATH目錄下查找。
GO111MODULE=auto,默認值,go命令行將會根據當前目錄來決定是否啟用module功能。這種情況下可以分為兩種情形:
a.當前目錄在GOPATH/src之外且該目錄包含go.mod文件
當前文件在包含go.mod文件的目錄下面。
b.當modules功能啟用時,依賴包的存放位置變更為$GOPATH/pkg,允許同一個package多個版本并存,且多個項目可以共享緩存的 module
10、如何使用
mkdir goproject
cd goproject
go mod init goproject #此時會發現目錄下生成了go.mod
執行 go run main.go 運行代碼會發現 go mod 會自動查找依賴自動下載