欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go環(huán)境變量配置,及GOROOT、GOPATH的區(qū)別小結(jié)

 更新時間:2024年09月04日 11:08:31   作者:h_and_g  
本文主要介紹了Go環(huán)境變量配置,及GOROOT、GOPATH的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、安裝Go

go下載地址:

https://golang.google.cn/dl/

windows下載安裝,有兩種方式。解壓和直接安裝

方式一:直接下載安裝包。以.msi結(jié)尾的文件。例如:

go1.22.1.windows-amd64.msi 

下載后,雙擊后一直點下一步即可安裝成功。

方式二:下載壓縮包文件,直接解壓。解壓后配置環(huán)境變量即可。例如:

下載完成,放到自己電腦的目錄里面,然后解壓,加壓后得到如下文件:

二、配置Go環(huán)境變量

右擊電腦 -> 屬性  -> 高級系統(tǒng)設(shè)置  -> 環(huán)境變量。打開環(huán)境變量設(shè)置窗口

增加:增加兩個環(huán)境變量:GOROOT、GOPATH

GOROOT:GO的安裝目錄,相當(dāng)于java中的jdk

GOPATH:GO的項目工作目錄,以后開發(fā)的代碼就寫到這個文件夾中。

配置GOROOT:

GOPATH和GOROOT的配置略有不同,我建議配置兩個GOPATH目錄,第一個用于放 Go 語言的第三方包,第二個用于放自己的開發(fā)代碼。我們來新建GOPATH。點擊系統(tǒng)變量下的新建,在變量名一欄輸入GOPATH,在變量值一欄輸入任意兩個目錄,中間用英文分號隔開。

配置GOPATH 

然后將新建的GOROOT配置到 Path 這個環(huán)境變量中去,在系統(tǒng)變量中找到 Path,點擊編輯->新建,輸入%GOROOT%\bin,點擊確定。并將所有母窗口的確定全部點下,確保環(huán)境變量生效。

這樣就配置完了,一路點擊確定,直到桌面; 

檢查是否配置成功。 

windows+R 輸入 cmd 打開終端,輸入go version,如果輸出如下圖所示,則安裝成功。

#查看Go版本
go version

#查看Go環(huán)境變量
go env

配置GO111MODULE、GOPROXY、GOSUMDB

GO111MODULE:為啥是111呢,這是沖go的1.11版本增加的一個功能。用于管理第三方包的,如果這個開啟的話,gopath這個變量基本上就用不到了。

Go默認(rèn)的GOPROXY的值是:GOPROXY=https://proxy.golang.org,direct。這個goproxy在使用go get安裝第三方庫的時候會報錯,導(dǎo)致無法下載成功,所以必須要修改一下。

比如改為:https://goproxy.io,direct (七牛鏡像)

或 https://mirrors.aliyun.com/goproxy(阿里云鏡像)

配置go變量的一些命令: 

#開啟mod模式(項目管理需要用到)
go env -w GO111MODULE=on
#重新設(shè)置成七牛鏡像源(推薦)或阿里鏡像源(用原有的會比較慢)
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy

#關(guān)閉包的MD5校驗
go env -w GOSUMDB=off

#查看環(huán)境變量
go env

三、GoRoot

GOROOT是go的安裝路徑。GOROOT目錄下有bin、doc、src等。如下圖:

四、GoPath

GOPATH:是開發(fā)的工作目錄。用于保存編譯后的二進(jìn)制文件。go get命令和go install命令會下載go的代碼到GOPATH中。

使用GOPATH時,項目中import引用的第三方包,首先會從GOROOT/src下搜索,如果搜索不到,會到GOPATH/src目錄下搜索。

舉個例子吧:

比如go項目中,應(yīng)用了如下第三方包:

import "Go-Player/src/chapter17/models"

第一步:Go會先去GOROOT/src目錄中查找,很顯然它不是標(biāo)準(zhǔn)庫的包,沒找到。
第二步:繼續(xù)在GOPATH/src目錄去找,準(zhǔn)確說是GOPATH/src/Go-Player/src/chapter17/models這個目錄。

如果該目錄不存在,會報錯找不到package。

在使用GOPATH管理項目時,需要按照GO尋找package的規(guī)范來合理地保存和組織Go代碼。

五、go-mod

開啟GO111MODULE時,即GO111MODULE=on,再項目中引用第三方包時,仍然使用GOPATH的方式進(jìn)行引用,這時在引用時會報錯。

GO111MODULE 有三個值:off, on和auto(默認(rèn)值)。

GO111MODULE=off,go命令行將不會支持module功能,尋找依賴包的方式將會沿用舊版本那種通過vendor目錄或者GOPATH模式來查找。

GO111MODULE=on,go命令行會使用modules,而一點也不會去GOPATH目錄下查找。

GO111MODULE=auto,默認(rèn)值,go命令行將會根據(jù)當(dāng)前目錄來決定是否啟用module功能。

這種情況下可以分為兩種情形:
當(dāng)前目錄在GOPATH/src之外且該目錄包含go.mod文件,即使用go mod對項目的第三方依賴進(jìn)行管理,不再使用gopath的方式
當(dāng)前文件在包含go.mod文件的目錄下面。

當(dāng)modules 功能啟用時,依賴包的存放位置變更為$GOPATH/pkg,允許同一個package多個版本并存,且多個項目可以共享緩存的 module。 

到此這篇關(guān)于Go環(huán)境變量配置,及GOROOT、GOPATH的區(qū)別小結(jié)的文章就介紹到這了,更多相關(guān)Go環(huán)境變量配置 GOROOT GOPATH內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用go語言實現(xiàn)Redis持久化的示例代碼

    使用go語言實現(xiàn)Redis持久化的示例代碼

    redis 是一個內(nèi)存數(shù)據(jù)庫,如果你把進(jìn)程殺掉,那么里面存儲的數(shù)據(jù)都會消失,那么這篇文章就是來解決 redis 持久化的問題,本文給大家介紹了使用go語言實現(xiàn)Redis持久化,需要的朋友可以參考下
    2024-07-07
  • GoLang與Java各自生成grpc代碼流程介紹

    GoLang與Java各自生成grpc代碼流程介紹

    這篇文章主要介紹了GoLang與Java各自生成grpc代碼流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-03-03
  • 如何在golang中使用shopspring/decimal來處理精度問題

    如何在golang中使用shopspring/decimal來處理精度問題

    本文主要介紹了如何在golang中使用shopspring/decimal來處理精度問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Go語言應(yīng)該什么情況使用指針

    Go語言應(yīng)該什么情況使用指針

    go語言的指針類型和C/C++的指針類型用法是一樣的,那么Go語言應(yīng)該什么情況使用指針,本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-07-07
  • Golang檢查變量類型的四種方式

    Golang檢查變量類型的四種方式

    Go提供幾種方法檢查變量的類型,在字符串格式化標(biāo)識%T, 反射方式:reflect.TypeOf, reflect.ValueOf.Kind,另外還有使用類型斷言,switch case方式,下面通過實例分別介紹這四類方法,需要的朋友可以參考下
    2022-10-10
  • Gin框架中參數(shù)校驗優(yōu)化詳解

    Gin框架中參數(shù)校驗優(yōu)化詳解

    這篇文章主要為大家詳細(xì)介紹了Gin框架中參數(shù)校驗優(yōu)化的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解下
    2023-08-08
  • go mayfly開源項目代碼結(jié)構(gòu)設(shè)計

    go mayfly開源項目代碼結(jié)構(gòu)設(shè)計

    這篇文章主要為大家介紹了go mayfly開源項目代碼結(jié)構(gòu)設(shè)計詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Windows下升級go版本過程詳解

    Windows下升級go版本過程詳解

    這篇文章主要為大家介紹了Windows下升級go版本過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Go語言通道之緩沖通道

    Go語言通道之緩沖通道

    這篇文章介紹了Go語言通道之緩沖通道,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • golang 實現(xiàn)時間滑動窗口的示例代碼

    golang 實現(xiàn)時間滑動窗口的示例代碼

    滑動時間窗口就是把一段時間片分為多個樣本窗口,可以通過更細(xì)粒度對數(shù)據(jù)進(jìn)行統(tǒng)計,這篇文章主要介紹了golang 實現(xiàn)時間滑動窗口,需要的朋友可以參考下
    2022-10-10

最新評論