溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用VS?code快速搭建一個(gè)Golang項(xiàng)目

發(fā)布時(shí)間:2023-04-17 11:15:03 來源:億速云 閱讀:122 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“如何用VS code快速搭建一個(gè)Golang項(xiàng)目”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何用VS code快速搭建一個(gè)Golang項(xiàng)目”吧!

安裝go語言環(huán)境

這個(gè)巨簡單就不說了,大家可以網(wǎng)上檢索一下教程。

了解Go開發(fā)相關(guān)的環(huán)境變量

#GOROOT:GOROOT就是Go的安裝目錄,(類似于java的JDK)。不用往環(huán)境變量配置。包管理方式變成Go Module之后就用處不大了。
GOROOT = D:\Go (你安裝go環(huán)境的目錄)   
#GOPATH:GOPATH是我們的工作空間,保存go項(xiàng)目代碼和第三方依賴包。安裝后,在環(huán)境變量中有。
GOPATH = %USERPROFILE%\go
#配置代理加速(因?yàn)間o語言用到的包大多數(shù)都在github)
GOPROXY=https://goproxy.cn,direct

熟悉Go Module

(1)使用 go module 管理依賴后會(huì)在項(xiàng)目根目錄下生成兩個(gè)文件 go.mod 和 go.sum。go.mod 中會(huì)記錄當(dāng)前項(xiàng)目的所依賴的包的信息。

(2)在需要使用時(shí)才開啟GO111MODULE = on,平時(shí)GO111MODULE = off,避免在已有項(xiàng)目中意外引入 go module。

(3)go module 的目的是依賴管理,所以使用 go module 時(shí)你可以舍棄 go get 命令(但是不是禁止使用, 如果要指定包的版本或更新包可使用go get,平時(shí)沒有必要使用)

要使用go module 首先要設(shè)置GO111MODULE=on,GO111MODULE 有三個(gè)值,off、on、auto。
auto 會(huì)根據(jù)當(dāng)前目錄下是否有 go.mod 文件來判斷是否使用 modules 功能。
平時(shí) GO111MODULE = off,在需要使用的時(shí)候再開啟,避免在已有項(xiàng)目中意外引入 go module。
命令:
set GO111MODULE=on
go env // 查看 GO111MODULE 選項(xiàng)為 on 代表修改成功
#初始化。先進(jìn)入test項(xiàng)目下,然后執(zhí)行此命令,項(xiàng)目根目錄會(huì)出現(xiàn)一個(gè) go.mod 文件
go mod init test 
#檢測依賴。tidy會(huì)檢測該文件夾目錄下所有引入的依賴,寫入 go.mod 文件,寫入后你會(huì)發(fā)現(xiàn) go.mod 文件有所變動(dòng)
go mod tidy 
#下載依賴。我們需要將依賴下載至本地,而不是使用 go get
go mod download 
#導(dǎo)入依賴。此命令會(huì)將剛才下載至 GOPATH 下的依賴轉(zhuǎn)移至該項(xiàng)目根目錄下的 vendor(自動(dòng)新建) 文件夾下, 此時(shí)我們就可以使用這些依賴了
go mod vendor 
#依賴更新:這里的更新不是指版本的更新,而是指引入新依賴,依賴更新請從檢測依賴部分一直執(zhí)行即可:
go mod tidy
go mod download
go mod vendor

注:go mod vendor創(chuàng)建的文件夾里面可以放用戶自己的定制的包(放入后直接用包名就可以導(dǎo)入項(xiàng)目不需要相對路徑)

創(chuàng)建一個(gè)go項(xiàng)目

  1. 新建文件夾demo,作為項(xiàng)目根目錄

  2. cmd,執(zhí)行命令:go mod init demo 此時(shí)會(huì)生成一個(gè)go.mod文件(存放項(xiàng)目依賴)

  3. vscode打開文件:選擇項(xiàng)目根目錄demo

  4. 新建main.go文件:在根目錄下創(chuàng)建main.go文件

  5. 執(zhí)行

    1. go mod tidy // 添加或者刪除 modules,取決于依賴的引用 (執(zhí)行完生成go.sum文件)
      注意是添加刪除,用不好vendor內(nèi)的自定義包就沒有了

    2. go mod vendor // 復(fù)制依賴到 vendor 目錄下

如圖

如何用VS?code快速搭建一個(gè)Golang項(xiàng)目

如何用VS?code快速搭建一個(gè)Golang項(xiàng)目

此時(shí)就可以放肆地開發(fā)了,自己定義的包要放在vendor目錄下。不要隨便使用go mod tidy命令,因?yàn)檫@個(gè)命令是檢測當(dāng)前目錄的依賴,也就是main.go所在的目錄,如果是你自己寫了項(xiàng)目,并且有很多自定義包他很可能會(huì)給你移除掉。

項(xiàng)目遷移

項(xiàng)目中可能引用了大量的github第三方庫,使用go mod tidy可以直接將所有的第三方庫下載下來(前提是網(wǎng)絡(luò)通暢)
本篇文章上面教過大家Go語言配置加速代理了,最好配置一下。

  • 將別人的項(xiàng)目解壓出來

  • 在main.go同級目錄下進(jìn)入cmd命令行

  • 執(zhí)行 go mod tidy

  • 執(zhí)行 go mod download

  • 執(zhí)行 go mod vendor

  • 將自定義包導(dǎo)入vendor目錄下

  • 項(xiàng)目配置完成

可以看一下下面的項(xiàng)目目錄結(jié)構(gòu):

如何用VS?code快速搭建一個(gè)Golang項(xiàng)目

如何用VS?code快速搭建一個(gè)Golang項(xiàng)目

到此,相信大家對“如何用VS code快速搭建一個(gè)Golang項(xiàng)目”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI