示例代码
文件结构
main.go
package main
import "fmt"
import "foo"
func main() {
bar.Abc()
fmt.Print("This is main\n")
}
foo.go
package bar
import "fmt"
func Abc() {
fmt.Print("This is test print\n")
}
go包加载顺序
(1)import语句使用的是文件夹的名称
上面例子中的import后面的参数对应的就是文件夹foo
(2)文件夹的名称和package的名称不一定相同
上面的例子中,文件夹是foo,而package名称是bar。
(3)调用自定义包使用package名称.函数名的方式
例如上面使用的bar.Abc()。
(4)自定义包的调用和文件名没有关系
说明
1.import 引入的是从src子目录开始到具体文件的路径
2.一个包(文件夹)中所有的文件必须是同一个包名(文件名可以不相同,文件的包名跟目录的名称可以不相同)
3.同一个包中不同文件之间的代码其实是属于同一个包的,go语言中代码不以文件区分,仅以包区分,因此同一个包下不同文件中的代码可以直接相互调用