go不同文件之间的相互引用靠包来实现,包的名字类似命名空间可以用来间接访问包内声明的标识符,总结下来就是:
1,文件夹就是包,文件夹名就是包名
2,同一文件夹(包)下的所有文件可以视为同一文件,也就是可以随意拆分或者合并为一个或多个 go 文件都没有影响,文件名对程序也没有影响
3,同一文件夹(包)下的所有文件, package name 必须一致。
4,如果要使用其他文件夹(包)下的资源,使用 import 导包,(不一定对:import 导包的路径是相对于 gopath/src 或者 gopath/pkg的相对路径) 

import导入
编译器会首先查找Go 的安装目录,然后才会按顺序查找GOPATH 变量里列出的目录。(例子在截图中)


    对于远程导入,会使用Go get从远程的DVCS 获取包,并把包的源代码保存在GOPATH 指向的路径里与URL 匹配的目录里。
    重名的包可以通过命名导入来导入,命名导入是指在import 语句给出的包路径的左侧定义一个名字,将导入的包命名为新名字。import myfmt "mylib/fmt"