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

go語言import報錯處理圖文詳解

 更新時間:2023年04月28日 10:11:52   作者:愛喝coffee的人  
今天本來想嘗試一下go語言中公有和私有的方法,結(jié)果import其他包的時候直接報錯了,下面這篇文章主要給大家介紹了關(guān)于go語言import報錯處理的相關(guān)資料,需要的朋友可以參考下

import 認(rèn)識

go的import有兩種形式

第一種是GOPATH下項目文件管理

第二種是Go Modules

初學(xué)狀態(tài)我用的vscode.在兩個文件夾中調(diào)用全局變量。

在地址引用時出現(xiàn)錯誤。

通過查詢知道了兩種方法之間的區(qū)別就在與GO111MODULE的設(shè)置問題。

若是用第一種方法就把變量值設(shè)置為off或者auto。

若是用第二種方法就把變量值值設(shè)置為on。

然后就會看到import引用的地址爆紅。

運行顯示
project01\main\demo6\main\main.go:6:2: package go_code/project01/main/demo6/model1 is not in GOROOT (E:\go\src\go_code\project01\main\demo6\model1)

出現(xiàn)這種情況就是使用了Go Modules方式。需要在使用的工作空間設(shè)置一個go.mod的文件。

在終端中輸入go mod init 模塊名

go mod tidy

如果用auto模式,那就是讓系統(tǒng)自己選擇是那種方式。把項目移動到$GOPATH/src外

進(jìn)入目錄,運行 go mod init + 模塊名稱

go build 或者 go run 一次。

初學(xué)者,要想解決爆紅問題,直接在環(huán)境變量中吧on或者auto改為off就可以了。

補(bǔ)充:Go語言不支持相對路徑import導(dǎo)入包

Go是一門非常簡潔,且工程化完備的現(xiàn)代化開發(fā)語言。但在 go mod 模塊開發(fā)時,不像python那樣,import不支持相對路徑導(dǎo)入。本地包必須使用全路徑。本文嘗試探索此問題。

問題的產(chǎn)生

在github上fork一個開源項目之后,想要修改部分代碼后供公司項目使用。發(fā)現(xiàn)需要修改源項目中的所有內(nèi)部import,例如開源模塊 M中存在P1、P2等package, 其中P2 import P1的import路徑為 “github.com/someone/M/P1”,而我fork的分支里則是需要import 自己修改后的 "github.com/myself/M/P1",與此類似,整個開源項目里很多這種地方都需要修改。

所以引出了對相對路徑導(dǎo)入的思考,有沒有什么辦法支持相對路徑的導(dǎo)入而方便fork之后的差異開發(fā)呢?

原因

從以下幾個問題可以看出,對于Go語言來說,包相對路徑的引入,并不是一個好的方案:

  • 會與官方標(biāo)準(zhǔn)包的導(dǎo)入相混淆
  • 增加相對導(dǎo)入包的軟件管理難度
  • 影響了 go get 命令的使用
  • 不方便自動生成Go開發(fā)標(biāo)準(zhǔn)文檔

相對路徑導(dǎo)包示例:

import(  
     "./package1"      
     "./package2"      
     "./package3"
)

在 go mod 開發(fā)模式下,相對路徑的導(dǎo)包方式不支持。會報錯誤:
local import "./package1" in non-local package

相對路徑導(dǎo)入本地包,會在 GOPATH 的軟件包目錄中搜索導(dǎo)入。而不是在本項目中導(dǎo)入。

總結(jié)

到此這篇關(guān)于go語言import報錯處理的文章就介紹到這了,更多相關(guān)go語言import報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Ubuntu18.04 LTS搭建GO語言開發(fā)環(huán)境過程解析

    Ubuntu18.04 LTS搭建GO語言開發(fā)環(huán)境過程解析

    這篇文章主要介紹了Ubuntu18.04 LTS搭建GO語言開發(fā)環(huán)境過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Go語言zip文件的讀寫操作

    Go語言zip文件的讀寫操作

    本文主要介紹了Go語言zip文件的讀寫操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Go?文件讀取和寫入操作全面講解

    Go?文件讀取和寫入操作全面講解

    這篇文章主要為大家介紹了Go文件的讀取和寫入操作示例的全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Go語言實現(xiàn)一個簡單的并發(fā)聊天室的項目實戰(zhàn)

    Go語言實現(xiàn)一個簡單的并發(fā)聊天室的項目實戰(zhàn)

    本文主要介紹了Go語言實現(xiàn)一個簡單的并發(fā)聊天室的項目實戰(zhàn),文中根據(jù)實例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 學(xué)會提升Go語言編碼效率技巧拒絕加班!

    學(xué)會提升Go語言編碼效率技巧拒絕加班!

    這篇文章主要為大家介紹了Go語言編碼效率提升技巧詳解,學(xué)會了從此拒絕加班,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Go 庫性能分析工具pprof

    Go 庫性能分析工具pprof

    這篇文章主要為大家介紹了Go 庫性能分析工具pprof,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • golang如何設(shè)置Header Content-type

    golang如何設(shè)置Header Content-type

    這篇文章主要介紹了golang如何設(shè)置Header Content-type問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Go語言編譯程序從后臺運行,不出現(xiàn)dos窗口的操作

    Go語言編譯程序從后臺運行,不出現(xiàn)dos窗口的操作

    這篇文章主要介紹了Go語言編譯程序從后臺運行,不出現(xiàn)dos窗口的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • go語言單元測試基準(zhǔn)測試及表驅(qū)動測試示例詳解

    go語言單元測試基準(zhǔn)測試及表驅(qū)動測試示例詳解

    這篇文章主要為大家介紹了go語言單元測試基準(zhǔn)測試及表驅(qū)動測試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Go語言實現(xiàn)操作MySQL的基礎(chǔ)知識總結(jié)

    Go語言實現(xiàn)操作MySQL的基礎(chǔ)知識總結(jié)

    這篇文章主要總結(jié)一下怎么使用Go語言操作MySql數(shù)據(jù)庫,文中的示例代碼講解詳細(xì),需要的朋友可以參考以下內(nèi)容,希望對大家有所幫助
    2022-09-09

最新評論