go语言与所谓的包
import后面接的是目录的名字,而不是所谓包的名字,并且如果一个目录下面还有目录的话都必须要写进去,比如:
import "MyPackage" import "MyPackage/MyInnerPackage"
在这里讲明白了import后面接的是目录名而不是文件名更不是所谓的包名,那么一个目录下面的文件可以是多个包的吗?不可以
package main import "MyPackage" import "MyPackage/MyInnerPackage" import "OtherPackage" func main() { MyPackage.MyFunc(); MyPackage.MyFunc(); MyInnerPackage.MyInnerFunc() OtherPackages.MyOtherFunc() }
src目录下面有两个目录,分别是MyPackage和OtherPackage
package MyPackage import "fmt" func MyFunc() { fmt.Println("MyFunc"); }
package MyPackage import "fmt" func MyFunc2() { fmt.Println("MyFunc2") }
package MyInnerPackage import "fmt" func MyInnerFunc(){ fmt.Println("MyInnerPackage") }
package OtherPackages import "fmt" func MyOtherFunc() { fmt.Println("OtherPackages->MyOtherFunc"); }
go语言中有个变态的地方就是你要暴露方法或者属性名出来必须首字母大写
In Go, a name is exported if it begins with a capital letter.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。