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

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

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

一、安裝Go

go下載地址:

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

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

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

go1.22.1.windows-amd64.msi 

下載后,雙擊后一直點(diǎn)下一步即可安裝成功。

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

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

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

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

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

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

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

配置GOROOT:

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

配置GOPATH 

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

這樣就配置完了,一路點(diǎn)擊確定,直到桌面; 

檢查是否配置成功。 

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

#查看Go版本
go version

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

配置GO111MODULE、GOPROXY、GOSUMDB

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

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

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

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

配置go變量的一些命令: 

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

#關(guān)閉包的MD5校驗(yàn)
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命令會(huì)下載go的代碼到GOPATH中。

使用GOPATH時(shí),項(xiàng)目中import引用的第三方包,首先會(huì)從GOROOT/src下搜索,如果搜索不到,會(huì)到GOPATH/src目錄下搜索。

舉個(gè)例子吧:

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

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

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

如果該目錄不存在,會(huì)報(bào)錯(cuò)找不到package。

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

五、go-mod

開啟GO111MODULE時(shí),即GO111MODULE=on,再項(xiàng)目中引用第三方包時(shí),仍然使用GOPATH的方式進(jìn)行引用,這時(shí)在引用時(shí)會(huì)報(bào)錯(cuò)。

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

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

GO111MODULE=on,go命令行會(huì)使用modules,而一點(diǎn)也不會(huì)去GOPATH目錄下查找。

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

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

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

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

相關(guān)文章

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

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

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

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

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

    如何在golang中使用shopspring/decimal來(lái)處理精度問(wèn)題

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

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

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

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

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

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

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

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

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

    Windows下升級(jí)go版本過(guò)程詳解

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

    Go語(yǔ)言通道之緩沖通道

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

    golang 實(shí)現(xiàn)時(shí)間滑動(dòng)窗口的示例代碼

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

最新評(píng)論