centos8安裝golang1.17

1、訪問go的官網

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=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 會自動查找依賴自動下載

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容