最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、安裝Go

go下載地址:

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

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

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

go1.22.1.windows-amd64.msi 

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

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

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

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

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

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

GOROOT:GO的安裝目錄,相當于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默認的GOPROXY的值是:GOPROXY=https://proxy.golang.org,direct。這個goproxy在使用go get安裝第三方庫的時候會報錯,導致無法下載成功,所以必須要修改一下。

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

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

配置go變量的一些命令: 

#開啟mod模式(項目管理需要用到)
go env -w GO111MODULE=on
#重新設置成七牛鏡像源(推薦)或阿里鏡像源(用原有的會比較慢)
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ā)的工作目錄。用于保存編譯后的二進制文件。go get命令和go install命令會下載go的代碼到GOPATH中。

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

舉個例子吧:

比如go項目中,應用了如下第三方包:

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

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

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

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

五、go-mod

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

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

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

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

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

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

當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)文章

  • Golang中Json的序列化和反序列化的使用

    Golang中Json的序列化和反序列化的使用

    本文主要介紹了Golang中Json的序列化和反序列化的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • golang引入自定義包的兩種方法

    golang引入自定義包的兩種方法

    本文主要介紹了golang引入自定義包的兩種方法,第一種是傳統(tǒng)的手動管理,第二種是使用go.mod文件,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • go語言切片去重的3種方式

    go語言切片去重的3種方式

    go語言中的切片是使用非常頻繁的一個數(shù)據(jù)結(jié)構(gòu),本文主要介紹了go語言切片去重的3種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • Go語言的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)JSON

    Go語言的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)JSON

    本文主要介紹了Go語言的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)JSON,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 一文深入探討Go語言中的if-else語句

    一文深入探討Go語言中的if-else語句

    在Go語言中,條件語句的使用方式相對簡潔明了,所以本文將探討一下如何在Go程序中有效地進行條件判斷和邏輯控制,感興趣的小伙伴可以了解下
    2023-08-08
  • go benchmark 基準測試詳解

    go benchmark 基準測試詳解

    這篇文章主要介紹了go benchmark 基準測試詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Golang實現(xiàn)自己的Redis(TCP篇)實例探究

    Golang實現(xiàn)自己的Redis(TCP篇)實例探究

    這篇文章主要介紹了Golang實現(xiàn)自己的Redis(TCP篇)實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • go實現(xiàn)fping功能

    go實現(xiàn)fping功能

    這篇文章主要介紹了go實現(xiàn)fping功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • golang中值類型/指針類型的變量區(qū)別總結(jié)

    golang中值類型/指針類型的變量區(qū)別總結(jié)

    golang的值類型和指針類型receiver一直是大家比較混淆的地方,下面這篇文章主要給大家總結(jié)介紹了關(guān)于golang中值類型/指針類型的變量區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • go語言通過反射獲取和設置結(jié)構(gòu)體字段值的方法

    go語言通過反射獲取和設置結(jié)構(gòu)體字段值的方法

    這篇文章主要介紹了go語言通過反射獲取和設置結(jié)構(gòu)體字段值的方法,實例分析了Go語言反射的使用技巧,需要的朋友可以參考下
    2015-03-03

最新評論

宁波市| 登封市| 深州市| 寿阳县| 宿迁市| 新野县| 抚松县| 安塞县| 灵石县| 杭锦旗| 长宁县| 博乐市| 高淳县| 南安市| 蒲江县| 天柱县| 邛崃市| 房产| 东丰县| 武夷山市| 会东县| 布尔津县| 克山县| 綦江县| 合川市| 景洪市| 普兰店市| 祁东县| 磐安县| 都匀市| 苍梧县| 剑阁县| 奉贤区| 南皮县| 巨鹿县| 清苑县| 宜昌市| 靖边县| 辉县市| 鹿泉市| 通州市|