解決使用IDE Run運(yùn)行出錯(cuò)package pack/test is not in GOROOT (/usr/local/go/src/pack/test)
首先先講一下包
包(package)是多個(gè)Go源碼的集合,是一種高級(jí)的代碼復(fù)用方案,Go語言為我們提供了很多內(nèi)置包,如fmt、os、io等。
我們還可以根據(jù)自己的需要?jiǎng)?chuàng)建自己的包。一個(gè)包可以簡單理解為一個(gè)存放.go文件的文件夾。 該文件夾下面的所有g(shù)o文件都要在代碼的第一行添加如下代碼,聲明該文件歸屬的包。
package 包名
注意事項(xiàng):
一個(gè)文件夾下面直接包含的文件只能歸屬一個(gè)package,同樣一個(gè)package的文件不能在多個(gè)文件夾下。
包名可以不和文件夾的名字一樣,包名不能包含 - 符號(hào)。
包名為main的包為應(yīng)用程序的入口包,這種包編譯后會(huì)得到一個(gè)可執(zhí)行文件,而編譯不包含main包的源代碼則不會(huì)得到可執(zhí)行文件。
如果想在一個(gè)包中引用另外一個(gè)包里的標(biāo)識(shí)符(如變量、常量、類型、函數(shù)等)時(shí),該標(biāo)識(shí)符必須是對(duì)外可見的(public)。在Go語言中只需要將標(biāo)識(shí)符的首字母大寫就可以讓標(biāo)識(shí)符對(duì)外可見了。
結(jié)構(gòu)體中的字段名和接口中的方法名如果首字母都是大寫,外部包可以訪問這些字段和方法。例如:
type Student struct { Name string //可在包外訪問的方法 class string //僅限包內(nèi)訪問的字段 } type Payer interface { init() //僅限包內(nèi)訪問的方法 Pay() //可在包外訪問的方法 }
要在代碼中引用其他包的內(nèi)容,需要使用import關(guān)鍵字導(dǎo)入使用的包。具體語法如下:
import "包的路徑"
注意事項(xiàng):
import導(dǎo)入語句通常放在文件開頭包聲明語句的下面。
導(dǎo)入的包名需要使用雙引號(hào)包裹起來。
包名是從$GOPATH/src/后開始計(jì)算的,使用/進(jìn)行路徑分隔。
Go語言中禁止循環(huán)導(dǎo)入包。
如果只希望導(dǎo)入包,而不使用包內(nèi)部的數(shù)據(jù)時(shí),可以使用匿名導(dǎo)入包。具體的格式如下:
import _ "包的路徑"
**
init()函數(shù)介紹
在Go語言程序執(zhí)行時(shí)導(dǎo)入包語句會(huì)自動(dòng)觸發(fā)包內(nèi)部init()函數(shù)的調(diào)用。需要注意的是: init()函數(shù)沒有參數(shù)也沒有返回值。 init()函數(shù)在程序運(yùn)行時(shí)自動(dòng)被調(diào)用執(zhí)行,不能在代碼中主動(dòng)調(diào)用它。
**
由上面可以看出是一些包的一些語法和基本使用
首先一個(gè)項(xiàng)目只能有一個(gè)入口相信大家都知道
如果都按照我的這種寫法在IDE中run按鈕是一定可以運(yùn)行的,否則也有其他的運(yùn)行方法比如終端的 go run main.go
,如果main文件和其他go文件都在一個(gè)文件夾下,也可以使用 go run mian.go
加上 那個(gè)文件名比如 go run main.go test.go
等等
了解不夠深刻如果有其他更好的建議或者方法以及補(bǔ)充的話 歡迎評(píng)論
到此這篇關(guān)于解決使用IDE Run運(yùn)行出錯(cuò)package pack/test is not in GOROOT (/usr/local/go/src/pack/test)的文章就介紹到這了,更多相關(guān)IDE Run運(yùn)行出錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
網(wǎng)站統(tǒng)計(jì)中的數(shù)據(jù)收集原理及實(shí)現(xiàn)
目前主流的數(shù)據(jù)收集方式基本都是基于javascript的。本文將簡要分析這種數(shù)據(jù)收集的原理,并一步一步實(shí)際搭建一個(gè)實(shí)際的數(shù)據(jù)收集系統(tǒng)2013-09-09MobaXterm詳細(xì)使用圖文教程(MobaXterm連接Linux服務(wù)器)
這篇文章主要介紹了MobaXterm詳細(xì)使用教程,介紹一下如何設(shè)置并用MobaXterm來連接Linux服務(wù)器,本文介紹了三種連接方式:SSH,F(xiàn)TP,serial,以及幾個(gè)有用的設(shè)置和命令,需要的朋友可以參考下2023-05-05qqwry.dat的數(shù)據(jù)結(jié)構(gòu)圖文解釋
QQwry.dat可以看作是一種數(shù)據(jù)文件,通過它能完成以下任務(wù)2009-02-02關(guān)于Interlij 無法使用中文輸入法的解決方法(適用于Interlij全家桶 Linux環(huán)境)
這篇文章主要介紹了關(guān)于Interlij 無法使用中文輸入法的解決方法(適用于Interlij全家桶 Linux環(huán)境),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-0210分鐘搞定讓你困惑的 Jenkins 環(huán)境變量過程詳解
這篇文章主要介紹了10分鐘搞定讓你困惑的 Jenkins 環(huán)境變量過程詳解,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01