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

Go?語言開發(fā)環(huán)境搭建過程

 更新時(shí)間:2024年03月12日 09:49:11   作者:我家有只江小白  
這篇文章主要介紹了Go?語言開發(fā)環(huán)境搭建過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

Go 語言開發(fā)環(huán)境搭建

一. GO 環(huán)境安裝

1.1 下載

Go官網(wǎng):https://golang.org/dl/

Go鏡像站(推薦):https://golang.google.cn/dl/

1.2 Go 版本的選擇

默認(rèn)下載最新自己對(duì)應(yīng)的平臺(tái)即可。

1.3 安裝

1.3.1 Windows安裝

打開下載的安裝程序(.msi文件),然后按照安裝向?qū)е械恼f明進(jìn)行安裝

1.3.2 Linux下安裝

wget https://golang.google.cn/dl/go1.21.1.linux-amd64.tar.gz

將下載好的文件解壓到/usr/local目錄下:

tar -zxvf go1.21.1.linux-amd64.tar.gz -C /usr/local  # 解壓

如果提示沒有權(quán)限,加上sudo以root用戶的身份再運(yùn)行。執(zhí)行完就可以在/usr/local/下看到go目錄了。

配置環(huán)境變量,Linux下有兩個(gè)文件可以配置環(huán)境變量,

其中/etc/profile是對(duì)所有用戶生效的;$HOME/.profile是對(duì)當(dāng)前用戶生效的,根據(jù)自己的情況自行選擇一個(gè)文件打開,添加如下兩行代碼,保存退出。

export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/bin

修改/etc/profile后要重啟生效,修改$HOME/.profile后使用source命令加載$HOME/.profile文件即可生效。

1.3.2 Mac下安裝

打開下載的安裝程序(.pkg文件),然后按照安裝向?qū)е械恼f明進(jìn)行安裝,默認(rèn)會(huì)將go安裝到/usr/local/go目錄下。

1.4 驗(yàn)證Go安裝

驗(yàn)證Go安裝: 打開終端(Terminal)應(yīng)用程序,并運(yùn)行以下命令來驗(yàn)證Go是否正確安裝:

go version

二. Go 語言環(huán)境變量

2,1 查看Go 環(huán)境變量

打開終端(Terminal)應(yīng)用程序,并運(yùn)行以下命令來查看Go 環(huán)境變量:

go env

終端會(huì)返回如下命令:

GO111MODULE='on'
GOARCH='amd64'
GOBIN=''
GOCACHE='/Users/thinkook/Library/Caches/go-build'
GOENV='/Users/thinkook/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/thinkook/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/thinkook/go'
GOPRIVATE=''
GOPROXY='https://goproxy.cn,direct'
GOROOT='/usr/local/Cellar/go/1.21.1/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/Cellar/go/1.21.1/libexec/pkg/tool/darwin_amd64'
GOVCS=''
GOVERSION='go1.21.1'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/fs/wzn8gx9n3cq_gqvy502mn17r0000gn/T/go-build3919122639=/tmp/go-build -gno-record-gcc-switches -fno-common'

2.2 常用Go 配置項(xiàng)

環(huán)境變量作用默認(rèn)值
GOARCH用于指示Go編譯器生成代碼所針對(duì)的平臺(tái)CPU架構(gòu)本機(jī)的CPU架構(gòu)(例如,AMD64、Arm等)
GOOS用于指示Go編譯器生成代碼所針對(duì)的操作系統(tǒng)本機(jī)的操作系統(tǒng)(例如,Linux、Darwin、Windows等)
GO111MODULE它的值決定了當(dāng)前使用的構(gòu)建模式是傳統(tǒng)的GOPATH模式還是新引入的Go Module模式Go 1.16版本后,默認(rèn)為"on",開啟Go Module構(gòu)建模式
GOCACHE用于指示存儲(chǔ)構(gòu)建結(jié)果緩存的路徑,這些緩存可能會(huì)被后續(xù)的構(gòu)建所使用不同操作系統(tǒng)上有不同的默認(rèn)值。在Linux上默認(rèn)值為 "$HOME/.cache/go-build"
GOMODCACHE用于指示存放Go Module的路徑不同操作系統(tǒng)上有不同的默認(rèn)值。在Linux上默認(rèn)值為 "$HOME/go/pkg/mod"
GOPROXY用來配置Go Module proxy服務(wù)默認(rèn)值為 "https://proxy.golang.org,direct"。在中國(guó)大陸地區(qū)通常設(shè)置為 "https://goproxy.cn,direct" 以加速下載速度
GOPRIVATE指向自己的私有庫,比如說自己公司的私有庫無(默認(rèn)值由用戶配置)
GOPATH在傳統(tǒng)的GOPATH構(gòu)建模式下,用于指示Go包搜索路徑的環(huán)境變量,在Go module機(jī)制啟用之前是Go核心配置項(xiàng)。Go 1.8版本之前需要手工配置,Go 1.8版本引入了默認(rèn)的GOPATH($HOME/go)。在Go Module模式正式上位后,可能會(huì)被移除無(默認(rèn)值由用戶配置)
GOROOT指示Go安裝路徑。Go 1.10版本引入了默認(rèn)GOROOT,開發(fā)者無需顯式設(shè)置,Go程序會(huì)自動(dòng)根據(jù)自己所在路徑推導(dǎo)出GOROOT的路徑無(由Go安裝程序設(shè)置)

2.3 GOPATH

  • src:存放源代碼:在GOPATH中的src目錄用于存放你的Go項(xiàng)目的源代碼文件。每個(gè)Go項(xiàng)目都應(yīng)該有自己的目錄,通常按照導(dǎo)入路徑的結(jié)構(gòu)來組織。例如,如果你的項(xiàng)目的導(dǎo)入路徑是github.com/yourusername/yourproject,那么你的項(xiàng)目應(yīng)該位于$GOPATH/src/github.com/yourusername/yourproject
  • pkg:存放依賴包:pkg目錄用于存放已經(jīng)編譯好的Go包,這些包是你的項(xiàng)目依賴的其他包。這些包通常是由Go編譯器自動(dòng)構(gòu)建并存儲(chǔ)在pkg目錄中,以便提高構(gòu)建速度。
  • bin:存放可執(zhí)行文件:bin目錄用于存放通過go install命令構(gòu)建的可執(zhí)行文件。當(dāng)你使用go install安裝一個(gè)Go程序時(shí),可執(zhí)行文件將被放置在$GOPATH/bin目錄下,可以直接運(yùn)行。

2.4 GOROOT

  • go的安裝目錄:GOROOT是指示Go語言安裝目錄的環(huán)境變量。它告訴Go編譯器在哪里找到標(biāo)準(zhǔn)庫以及其他與Go相關(guān)的工具和資源。GOROOT的默認(rèn)值由Go安裝程序設(shè)置,通常位于系統(tǒng)的特定目錄中,例如/usr/local/goC:\Go。開發(fā)者不需要手動(dòng)設(shè)置GOROOT,Go會(huì)自動(dòng)識(shí)別它。

2.5 GOPROXY

2.5.1 介紹說明:

2.5.2 設(shè)置代理

對(duì)于Go版本1.13及以上:

go env -w GO111MODULE=on
go env -w GOPROXY=https://proxy.golang.com.cn/,direct

“direct”是一個(gè)特殊指示符,用于指示Go在需要時(shí)回源到模塊版本的源地址(例如GitHub等)。如果在GOPROXY值列表中的前一個(gè)Go模塊代理返回404或410錯(cuò)誤,Go會(huì)自動(dòng)嘗試列表中的下一個(gè)代理,遇到“direct”時(shí)會(huì)回源,遇到EOF時(shí)會(huì)終止并拋出類似“invalid version: unknown revision…”的錯(cuò)誤。

對(duì)于其他版本,可以使用以下方式設(shè)置代理:

export GO111MODULE=on
export GOPROXY=https://proxy.golang.com.cn/

2.5.3 常用 GO 代理

以下是一些常用的Go Module代理服務(wù)的地址:

提供者地址
官方全球代理https://proxy.golang.com.cn
官方https://goproxy.io,direct
七牛云https://goproxy.cn
阿里云https://mirrors.aliyun.com/goproxy/
GoCenterhttps://gocenter.io
百度https://goproxy.bj.bcebos.com/

這些代理服務(wù)可以幫助加速Go Module的下載,特別是在網(wǎng)絡(luò)受限的情況下。您可以根據(jù)自己的需求選擇合適的代理服務(wù),并將GOPROXY設(shè)置為相應(yīng)的地址。

三. 常用的IDE 設(shè)置

3.1 VsCode

特點(diǎn):免費(fèi)開源,強(qiáng)大的社區(qū)支持,擴(kuò)展豐富,支持多種編程語言,包括Go。

官網(wǎng)地址:https://code.visualstudio.com/download

Go相關(guān)擴(kuò)展:在VsCode中使用Go開發(fā),你可以安裝以下一些常用的Go相關(guān)擴(kuò)展來增強(qiáng)開發(fā)體驗(yàn):

  • Go - 微軟官方的Go擴(kuò)展,提供自動(dòng)補(bǔ)全、格式化、重構(gòu)等語言特性。
  • gopls - 另一個(gè)語言服務(wù)器,提供智能提示、代碼跳轉(zhuǎn)、診斷等。有些人會(huì)覺得它比默認(rèn)的Go擴(kuò)展更好。
  • Go Test Explorer - 在VS Code內(nèi)運(yùn)行測(cè)試并在側(cè)邊欄顯示結(jié)果。
  • Go Modules - 支持Go modules,如導(dǎo)入語句的模塊路徑自動(dòng)補(bǔ)全。
  • gocode-gomod - 使用Go Modules時(shí)自動(dòng)補(bǔ)全模塊。
  • dlv-dap - 提供調(diào)試Delve調(diào)試器的配置。
  • gotests - 自動(dòng)為你的代碼生成測(cè)試文件。
  • guru - 集成guru工具,提供引用、定義等顯示。
  • goreturns - 添加快捷鍵運(yùn)行g(shù)oreturns來格式化和組織導(dǎo)入語句。

3.2 Goland

特點(diǎn):Goland是JetBrains公司開發(fā)的商業(yè)IDE,專門用于Go語言開發(fā)。它提供了豐富的功能和工具,使Go開發(fā)更加高效和愉快。

官網(wǎng):https://www.jetbrains.com/go/

Go相關(guān)功能:Goland針對(duì)Go開發(fā)提供了許多功能,包括:

  • 智能代碼補(bǔ)全:Goland具有高度智能的代碼補(bǔ)全功能,可以準(zhǔn)確地預(yù)測(cè)你要輸入的代碼,提高編碼速度。
  • 深度集成:Goland深度集成了Go工具鏈,包括調(diào)試器、測(cè)試工具、代碼導(dǎo)航等,使開發(fā)流程更加順暢。
  • 代碼重構(gòu):Goland支持各種代碼重構(gòu)操作,可以幫助你改進(jìn)代碼質(zhì)量和結(jié)構(gòu)。
  • 實(shí)時(shí)錯(cuò)誤檢查:Goland會(huì)在你編寫代碼時(shí)實(shí)時(shí)檢查錯(cuò)誤和代碼質(zhì)量問題,并提供即時(shí)反饋。
  • 版本控制:集成了常見的版本控制工具,如Git,方便團(tuán)隊(duì)協(xié)作和版本管理。

配置:

打開后點(diǎn)擊新建項(xiàng)目:

選擇一個(gè)項(xiàng)目路徑,和Go編譯器創(chuàng)建項(xiàng)目

繼續(xù)打開settings 設(shè)置Go Module 和 GOPROXY

Environment正確填寫內(nèi)容:GOPROXY=https://goproxy.cn,direct

這些是常用的Go開發(fā)IDE中的兩個(gè)主要選擇。你可以根據(jù)自己的需求和偏好選擇其中一個(gè),它們都提供了強(qiáng)大的工具和功能來支持Go開發(fā)。

到此這篇關(guān)于Go 語言開發(fā)環(huán)境搭建的文章就介紹到這了,更多相關(guān)Go 開發(fā)環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go語言用map實(shí)現(xiàn)堆棧功能的方法

    Go語言用map實(shí)現(xiàn)堆棧功能的方法

    這篇文章主要介紹了Go語言用map實(shí)現(xiàn)堆棧功能的方法,實(shí)例分析了Go語言使用map操作堆棧的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • 從并發(fā)到并行解析Go語言中的sync.WaitGroup

    從并發(fā)到并行解析Go語言中的sync.WaitGroup

    Go?語言提供了許多工具和機(jī)制來實(shí)現(xiàn)并發(fā)編程,其中之一就是?sync.WaitGroup。本文就來深入討論?sync.WaitGroup,探索其工作原理和在實(shí)際應(yīng)用中的使用方法吧
    2023-05-05
  • Go?Excelize?API源碼閱讀SetSheetViewOptions示例解析

    Go?Excelize?API源碼閱讀SetSheetViewOptions示例解析

    這篇文章主要為大家介紹了Go-Excelize?API源碼閱讀SetSheetViewOptions示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • go的websocket實(shí)現(xiàn)原理與用法詳解

    go的websocket實(shí)現(xiàn)原理與用法詳解

    這篇文章主要介紹了go的websocket實(shí)現(xiàn)原理與用法,詳細(xì)分析了websocket的功能、原理及Go語言實(shí)現(xiàn)websocket的相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • Go一站式配置管理工具Viper的使用教程

    Go一站式配置管理工具Viper的使用教程

    Viper是一個(gè)方便Go語言應(yīng)用程序處理配置信息的庫,它可以處理多種格式的配置,這篇文章主要為大家介紹了它的具體使用教程,需要的可以參考下
    2023-08-08
  • golang使用redis實(shí)現(xiàn)全文搜索功能詳解

    golang使用redis實(shí)現(xiàn)全文搜索功能詳解

    這篇文章主要為大家詳細(xì)介紹了golang如何使用redis實(shí)現(xiàn)全文搜索功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • Go中的new()和make()函數(shù)區(qū)別及底層原理詳解

    Go中的new()和make()函數(shù)區(qū)別及底層原理詳解

    這篇文章主要為大家介紹了Go中的new()和make()函數(shù)區(qū)別及底層原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • golang一些常用的靜態(tài)檢查工具詳解

    golang一些常用的靜態(tài)檢查工具詳解

    這篇文章主要介紹了golang一些常用的靜態(tài)檢查工具,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Go語言七篇入門教程七GC垃圾回收三色標(biāo)記

    Go語言七篇入門教程七GC垃圾回收三色標(biāo)記

    這篇文章主要為大家介紹了Go語言教程關(guān)于GC垃圾回收三色標(biāo)記的示例詳解,本篇文章是Go語言七篇入門教程系列文章,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Go語言中循環(huán)Loop的用法介紹

    Go語言中循環(huán)Loop的用法介紹

    這篇文章介紹了Go語言中循環(huán)Loop的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07

最新評(píng)論