這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
import後面接的是目錄的名字,而不是所謂包的名字,並且如果一個目錄下面還有目錄的話都必須要寫進去,比如:
import "MyPackage"import "MyPackage/MyInnerPackage"
在這裡講明白了import後面接的是目錄名而不是檔案名稱更不是所謂的包名,那麼一個目錄下面的檔案可以是多個包的嗎?不可以
package mainimport "MyPackage"import "MyPackage/MyInnerPackage"import "OtherPackage"func main() { MyPackage.MyFunc(); MyPackage.MyFunc(); MyInnerPackage.MyInnerFunc() OtherPackages.MyOtherFunc()}
src目錄下面有兩個目錄,分別是MyPackage和OtherPackage
package MyPackageimport "fmt"func MyFunc() { fmt.Println("MyFunc");}
package MyPackageimport "fmt"func MyFunc2() { fmt.Println("MyFunc2")}
package MyInnerPackageimport "fmt"func MyInnerFunc(){ fmt.Println("MyInnerPackage")}
package OtherPackagesimport "fmt"func MyOtherFunc() { fmt.Println("OtherPackages->MyOtherFunc");}
go語言中有個變態的地方就是你要暴露方法或者屬性名稱出來必須首字母大寫
In Go, a name is exported if it begins with a capital letter.