首先先講一下包
包(package)是多個Go源碼的集合,是一種高級的代碼復用方案,Go語言為我們提供了很多內置包,如fmt、os、io等。
我們還可以根據(jù)自己的需要創(chuàng)建自己的包。一個包可以簡單理解為一個存放.go文件的文件夾。 該文件夾下面的所有go文件都要在代碼的第一行添加如下代碼,聲明該文件歸屬的包。
注意事項:
一個文件夾下面直接包含的文件只能歸屬一個package,同樣一個package的文件不能在多個文件夾下。
包名可以不和文件夾的名字一樣,包名不能包含 - 符號。
包名為main的包為應用程序的入口包,這種包編譯后會得到一個可執(zhí)行文件,而編譯不包含main包的源代碼則不會得到可執(zhí)行文件。
如果想在一個包中引用另外一個包里的標識符(如變量、常量、類型、函數(shù)等)時,該標識符必須是對外可見的(public)。在Go語言中只需要將標識符的首字母大寫就可以讓標識符對外可見了。
結構體中的字段名和接口中的方法名如果首字母都是大寫,外部包可以訪問這些字段和方法。例如:
type Student struct {
Name string //可在包外訪問的方法
class string //僅限包內訪問的字段
}
type Payer interface {
init() //僅限包內訪問的方法
Pay() //可在包外訪問的方法
}
要在代碼中引用其他包的內容,需要使用import關鍵字導入使用的包。具體語法如下:
注意事項:
import導入語句通常放在文件開頭包聲明語句的下面。
導入的包名需要使用雙引號包裹起來。
包名是從$GOPATH/src/后開始計算的,使用/進行路徑分隔。
Go語言中禁止循環(huán)導入包。
如果只希望導入包,而不使用包內部的數(shù)據(jù)時,可以使用匿名導入包。具體的格式如下:
**
init()函數(shù)介紹
在Go語言程序執(zhí)行時導入包語句會自動觸發(fā)包內部init()函數(shù)的調用。需要注意的是: init()函數(shù)沒有參數(shù)也沒有返回值。 init()函數(shù)在程序運行時自動被調用執(zhí)行,不能在代碼中主動調用它。
**
由上面可以看出是一些包的一些語法和基本使用
首先一個項目只能有一個入口相信大家都知道

如果都按照我的這種寫法在IDE中run按鈕是一定可以運行的,否則也有其他的運行方法比如終端的 go run main.go
,如果main文件和其他go文件都在一個文件夾下,也可以使用 go run mian.go
加上 那個文件名比如 go run main.go test.go
等等
了解不夠深刻如果有其他更好的建議或者方法以及補充的話 歡迎評論
到此這篇關于解決使用IDE Run運行出錯package pack/test is not in GOROOT (/usr/local/go/src/pack/test)的文章就介紹到這了,更多相關IDE Run運行出錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 顯示IntelliJ IDEA工具的Run Dashboard功能圖文詳解
- idea 右鍵項目沒有run 運行選項
- IDEA開啟Run Dashboard的配置詳解
- IDEA 2020.1 搜索不到Chinese (Simplified) Language Pack EAP,無法安裝的問題