包的使用
go语言中的包
一个目录下的统计文件归属一个包,package的声明要一致
package声明的包和对应的目录名可以不一致,但习惯上还是可以写成一直的
包可以嵌套
同包下的函数不需要导入包,可以直接使用
main包,main函数所在的包,其他包不可以引用
点操作
import (
. "fmt"
)
func main(){
println("haha") //使用了点可以直接省略前面的包名
}
起别名
import (
p1 "fmt"
) //使用时,别名操作,调用包函数前缀变成了我们的别名
func main(){
p1.println("haha")
}
_操作,如果仅仅需要导入包时执行初始化操作,并不需要使用哦那个包内的其他函数,常量等资源,则可以在导入包时,匿名导入
import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
)
// _操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包的init函数,使用_作为包的别名,会仅仅执行init()
init()函数按照包的导入顺序执行
import (
"package1"
"package2"
) //这里先执行package1的init函数,再执行packege2的init函数
同一个包下 将文件名按照字符串进行排休,之后顺序调用各个文件中的init()函数