如何在VScode 中編譯多個(gè)Go文件
在使用VScode編譯多個(gè)go文件多次遇到過(guò)一個(gè)問(wèn)題:無(wú)法找到對(duì)應(yīng)的函數(shù)。具體提示在好像是:在GOPATH和GOROOT路徑中都沒(méi)有找到該package或者該函數(shù)。但是實(shí)際上,這個(gè)函數(shù)所在的go文件就在我的工作空間。 這里簡(jiǎn)單記錄下來(lái)。
舉個(gè)很簡(jiǎn)單的例子:src目錄下有個(gè)main.go文件, 引用了當(dāng)前目錄下myTools文件夾中的Add函數(shù):
其中
main.go的實(shí)現(xiàn)如下:
package main import ( "fmt" "myTools" ) func main() { sum := myTools.Add(1, 2) fmt.Println(sum) }
❇️myTools目錄下的add.go實(shí)現(xiàn)如下:
package myTools func Add(a, b int) int { return a + b }
但是在編譯時(shí),提示找不到myTools或者Add函數(shù)之類(lèi)的。我確認(rèn)環(huán)境變量,包括GOPATH, GOROOT沒(méi)有什么問(wèn)題,但是依然提示類(lèi)似錯(cuò)誤。
我最初認(rèn)為必須將自己寫(xiě)的這部分go文件放到go的安裝路徑下,這樣雖然能解決問(wèn)題,但是工程不太好管理呀;還會(huì)將自己的代碼與源碼混在一起,污染源碼,于情于理都不合適。當(dāng)時(shí)也查過(guò)相關(guān)資料,網(wǎng)絡(luò)好幾篇都說(shuō)將這兩個(gè)同時(shí)編譯即可
go build main.go myTools/add.go
這個(gè)確實(shí)可以,但是在不同目錄時(shí)無(wú)法編譯。我也沒(méi)有研究這個(gè)問(wèn)題,但是感覺(jué)也不方便,如果需要挨個(gè)指定要編譯的文件,那豈不是又要寫(xiě)一個(gè)類(lèi)似makefile的文件嗎???
后來(lái),一個(gè)偶然的機(jī)會(huì),他可以了
我回想了下,剛才做過(guò)的操作:
go mod init
go mod tidy
之后,便可以通過(guò)直接編譯main.go來(lái)運(yùn)行程序了,不再需要指定編譯哪些.go文件,非常的方便。如果有人也遇到類(lèi)似的問(wèn)題,可以這樣試一下,希望能解決這樣的問(wèn)題。
特別說(shuō)明:
我目前對(duì)Go語(yǔ)言正處于學(xué)習(xí)階段,感覺(jué)遇到問(wèn)題比較多的就是:環(huán)境配置問(wèn)題。各種安裝失敗、編譯出錯(cuò),VScode無(wú)法追蹤代碼等等奇形怪狀的問(wèn)題,這里權(quán)當(dāng)做記錄了。同時(shí)希望對(duì)于后面遇到此類(lèi)問(wèn)題的同學(xué),能夠快速解決此類(lèi)問(wèn)題。
到此這篇關(guān)于VScode 中編譯多個(gè)Go文件的文章就介紹到這了,更多相關(guān)VScode 編譯Go文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang語(yǔ)言學(xué)習(xí)拿捏Go反射示例教程
這篇文章主要為大家介紹了Golang語(yǔ)言中Go反射示例的教程,教你拿捏Go反射,再也不用被Go反射折磨,有需要的朋友可以共同學(xué)習(xí)參考下2021-11-11Golang定時(shí)器Timer與Ticker的使用詳解
在 Go 里有很多種定時(shí)器的使用方法,像常規(guī)的 Timer、Ticker 對(duì)象,本文主要為大家介紹了Timer與Ticker的使用,感興趣的小伙伴可以了解一下2023-05-05golang字符串轉(zhuǎn)Time類(lèi)型問(wèn)題
本文主要介紹了golang字符串轉(zhuǎn)Time類(lèi)型問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04淺談go-restful框架的使用和實(shí)現(xiàn)
這篇文章主要介紹了淺談go-restful框架的使用和實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Go語(yǔ)言使用goroutine及通道實(shí)現(xiàn)并發(fā)詳解
這篇文章主要為大家介紹了Go語(yǔ)言使用goroutine及通道實(shí)現(xiàn)并發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08