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

手把手教你用VS?code快速搭建一個Golang項目

 更新時間:2023年04月17日 09:07:59   作者:酷爾。  
Go語言是采用UTF8編碼的,理論上使用任何文本編輯器都能做Go語言開發(fā),下面這篇文章主要給大家介紹了關(guān)于使用VS?code快速搭建一個Golang項目的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

前言

VC code是一款巨好用的編輯器,使用vs code開發(fā)項目需要進行一些配置。項目中需要用到很多的包,無論是自己建的還是第三方的。由于go語言的生態(tài)環(huán)境沒有java與python那樣好,沒有一個好的的包管理工具這給想用vs code開發(fā)golang項目的同學帶來了困擾,本篇博客寫了關(guān)于一個go語言初學者如何使用VScode搭建go語言項目的過程,對初學者很友好,可以快速的搭建起來一個go語言項目。如果不擅長配置的話可以使用goland,相對于goland來說,VScode搭建項目顯得困難了許多。接下來就帶大家了解一下如何在沒有集成開發(fā)環(huán)境下手刃一個go語言項目。

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

這個巨簡單就不說了,大家可以網(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項目代碼和第三方依賴包。安裝后,在環(huán)境變量中有。
GOPATH = %USERPROFILE%\go
#配置代理加速(因為go語言用到的包大多數(shù)都在github)
GOPROXY=https://goproxy.cn,direct

熟悉Go Module

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

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

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

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

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

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

  1. 新建文件夾demo,作為項目根目錄
  2. cmd,執(zhí)行命令:go mod init demo 此時會生成一個go.mod文件(存放項目依賴)
  3. vscode打開文件:選擇項目根目錄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 // 復制依賴到 vendor 目錄下

如圖

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

項目遷移

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

  • 將別人的項目解壓出來
  • 在main.go同級目錄下進入cmd命令行
  • 執(zhí)行 go mod tidy
  • 執(zhí)行 go mod download
  • 執(zhí)行 go mod vendor
  • 將自定義包導入vendor目錄下
  • 項目配置完成

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

總結(jié)

到此這篇關(guān)于用VS code快速搭建一個Golang項目的文章就介紹到這了,更多相關(guān)VS code快速搭建Golang項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • go語言如何使用gin庫實現(xiàn)SSE長連接

    go語言如何使用gin庫實現(xiàn)SSE長連接

    所謂長連接指在一個TCP連接上可以連續(xù)發(fā)送多個數(shù)據(jù)包,在TCP連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)檢測包以維持此連接,一般需要自己做在線維持,下面這篇文章主要給大家介紹了關(guān)于go語言如何使用gin庫實現(xiàn)SSE長連接的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • go語言心跳超時的實現(xiàn)示例

    go語言心跳超時的實現(xiàn)示例

    本文主要介紹了go語言心跳超時的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • Go語言實現(xiàn)UDP版聊天小工具的示例詳解

    Go語言實現(xiàn)UDP版聊天小工具的示例詳解

    這篇文章主要為大家詳細介紹了如何利用Go語言實現(xiàn)聊天小工具(UDP版),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Go語言中字符串的查找方法小結(jié)

    Go語言中字符串的查找方法小結(jié)

    這篇文章主要介紹了Go語言中字符串的查找方法小結(jié),示例的main函數(shù)都是導入strings包然后使用其中的方法,需要的朋友可以參考下
    2015-10-10
  • go語言反射的基礎(chǔ)教程示例

    go語言反射的基礎(chǔ)教程示例

    這篇文章主要為大家介紹了go語言反射的基礎(chǔ)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Go語言中的匿名結(jié)構(gòu)體用法實例

    Go語言中的匿名結(jié)構(gòu)體用法實例

    這篇文章主要介紹了Go語言中的匿名結(jié)構(gòu)體用法,實例分析了匿名結(jié)構(gòu)體的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度

    Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度

    這篇文章主要介紹了Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度,使用Go語言后,可以并發(fā)獲取,極大提升效率,需要的朋友可以參考下
    2023-02-02
  • 自動生成代碼controller?tool的簡單使用

    自動生成代碼controller?tool的簡單使用

    這篇文章主要為大家介紹了自動生成代碼controller?tool的簡單使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 一文詳解Golang中new和make的區(qū)別

    一文詳解Golang中new和make的區(qū)別

    在Go語言中,new和make是兩個用于創(chuàng)建對象的內(nèi)建函數(shù)。本文將詳細介紹new和make的區(qū)別,并通過多個方面的分析和代碼示例,幫助大家理解它們的使用場景
    2023-05-05
  • Golang sync包中errgroup的使用詳解

    Golang sync包中errgroup的使用詳解

    Go 語言為我們提供了豐富的并發(fā)原語,且大多數(shù)都位于 sync 包下,今天我們來探討一下該庫下的原語之一:errgroup,感興趣的小伙伴可以了解一下
    2023-05-05

最新評論