文件1
package adder
import "fmt"
/*
本文件位于 $GOPATH/src/github.com/go-learn/pkg
文件名是 calc.go
代码的执行顺序是 全局变量->init()->main()
main()只有在package main中才有用
*/
// 一个文件夹中只能有一个包
func Add(x, y int) int {
return x + y
}
// 包的初始化函数
func init() {
fmt.Println("导入包时自动执行")
}
文件2
package main
import (
// 导入包时可以加别名, 别名为.表示可以省略包名
. "fmt"
// 导入包只需要定位到文件夹
// pkg是一个文件夹, 里面有一个calc.go, 首行是package adder
// 一般情况下要求文件夹名和包名一致, 文件名可以不一致(所以在这里使用pkg这个名字不合适)
"github.com/go-learn/pkg"
// 如果需要导入包而不使用, 则用匿名导入, 把别名写成_
_ "math"
)
func pkgImportTest() {
// 访问的时候用的是包名, 而不是文件名和文件夹名
// 如果有别名则用别名
Println(adder.Add(1, 2))
}
func main() {
pkgImportTest()
}