Win10系統(tǒng)下Golang環(huán)境搭建全過程
一、前言
Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)強類型、編譯型語言。Go 語言語法與 C 相近,但功能上有:內(nèi)存安全,GC(垃圾回收),結(jié)構(gòu)形態(tài)及 CSP-style 并發(fā)計算。
話不多抄,讓我們開始按步驟一步步進行即可完成開發(fā)環(huán)境的搭建工作;本文基于go1.18.10版本進行搭建,目前看與后面版本的搭建差異不大。
二、Golang下載
下載地址:All releases - The Go Programming Language
版本選擇:go1.18.10.windows-amd64.zip(視情況而定,通常windows電腦,64位系統(tǒng),都要選擇這個amd64版本,除非是arm的)
完成下載后,解壓,這里我選擇的某個盤的根路徑,方便查找:D:\go
三、配置環(huán)境變量
3.1、配置GOROOT
這里我的電腦是win10,記錄一下我的操作:【我的電腦】屬性—高級系統(tǒng)設(shè)置—環(huán)境變量,找到環(huán)境變量后開始進行配置;
第一步先配置GOROOT,新建變量GOROOT,變量值為即我們下載golang壓縮包后解壓縮的地址;建立完成后我們要在PATH加上bin的地址:%GOROOT%\bin
完成上述配置后,我們可以cmd窗xian口命令下進行操作了,查看一下我們的go版本:go version
確認正確后,我們繼續(xù)往下配置。
3.2、配置GOPATH
新建變量:GOPATH;變量值:D:\go_work;說明:這個目錄主要用于存放源代碼,依賴包等內(nèi)容,因此這文件夾路徑下還要有src(源代碼)、pkg(依賴包)、bin(可執(zhí)行文件)三個文件夾用于存放不同的內(nèi)容;
3.3、配置GOPROXY代理
默認情況下GOPROXY代理地址為【GOPROXY=https://proxy.golang.org,direct】但是這個地址在下載一些外部依賴包時容易超時或者報錯,因此選擇更改為國內(nèi)鏡像地址。
命令:go env -w GOPROXY=https://goproxy.cn,direct
修改后,在下載go的外部依賴包時,筆者還遇到了一個問題就是下載超時的情況,如下圖,后面查看其它貼子了解到可能和GOSUMDB有關(guān),GOSUMDB 的全稱為 Go CheckSum Database,用來下載的包的安全性校驗問題。包的安全性在使用 GoProxy 之后更容易出現(xiàn),比如我們引用了一個不安全的 GoProxy 之后然后下載了一個不安全的包,這個時候就出現(xiàn)了安全性問題。對于這種情況,可以通過 GOSUMDB 來對包的哈希值進行校驗。該方法僅供參考,如果需要關(guān)掉:
命令:go env -w GOSUMDB=off
以上我的配置就已經(jīng)完成了,暫時可以進行一些簡單的測試開發(fā)工作,后面如果再遇到新的問題,我會在這里再同步更新避坑情況說明。
下面附上一個go env各項參數(shù)的簡要說明:
set GO111MODULE=on //是否以Go modules的模式運行項目 auto,on,off set GOARCH=amd64 //目標可執(zhí)行程序操作系統(tǒng)構(gòu)架 包括 386,amd64,arm set GOBIN= //項目的第三方可執(zhí)行文件目錄 set GOCACHE= //項目的緩存目錄 set GOENV= //項目的env文件目錄 set GOEXE=.exe //項目編譯之后的可執(zhí)行文件后綴名 set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows //什么平臺下面運行 set GOINSECURE= set GOMODCACHE= //go mod 的緩存地址 set GONOPROXY= //私有庫 set GONOSUMDB= //加載源代碼不需要驗證的庫 set GOOS=windows //目標可執(zhí)行程序運行操作系統(tǒng),支持darwin,freebsd,linux,windows set GOPATH=C:\Users\Ch\go //go項目的目錄 set GOPRIVATE= //私有的項目依賴地址 set GOPROXY= //公共的項目依賴地址 set GOROOT=C:\Program Files\Go //go的安裝目錄 set GOSUMDB=sum.golang.org // set GOTMPDIR= //go的臨時文件目錄 set GOTOOLDIR= //go的工具包目錄 set GOVCS= //指定了golang用什么版本控制工具下載源代碼 set GOVERSION=go1.16.3 //使用go的版本號 set GCCGO=gccgo //golang自帶的編輯器目錄
總結(jié)
到此這篇關(guān)于Win10系統(tǒng)下Golang環(huán)境搭建的文章就介紹到這了,更多相關(guān)Win10 Golang環(huán)境搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang IPv4 字符串與整數(shù)互轉(zhuǎn)方式
這篇文章主要介紹了Golang IPv4 字符串與整數(shù)互轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Go語言調(diào)用Shell與可執(zhí)行文件的實現(xiàn)
這篇文章主要介紹了Go語言調(diào)用Shell與可執(zhí)行文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10一文帶你搞懂Golang依賴注入的設(shè)計與實現(xiàn)
在現(xiàn)代的 web 框架里面,基本都有實現(xiàn)了依賴注入的功能,可以讓我們很方便地對應(yīng)用的依賴進行管理。今天我們來看看 go 里面實現(xiàn)依賴注入的一種方式,感興趣的可以了解一下2023-01-01go語言中結(jié)構(gòu)體tag使用小結(jié)
Go語言是一種靜態(tài)類型、編譯型的編程語言,其中結(jié)構(gòu)體是一種非常重要的數(shù)據(jù)類型,本文就來介紹一下go語言中結(jié)構(gòu)體tag使用,具有一定的參考價值,感興趣的可以了解一下2023-10-10Go語言resty http包調(diào)用jenkins api實例
這篇文章主要為大家介紹了Go語言resty http包調(diào)用jenkins api實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06