文件1
package adderimport "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("导入包时自动执行")
}
【Go语言学习草稿(7) 包】文件2
package mainimport (
// 导入包时可以加别名, 别名为.表示可以省略包名
. "fmt"
// 导入包只需要定位到文件夹
// pkg是一个文件夹, 里面有一个calc.go, 首行是package adder
// 一般情况下要求文件夹名和包名一致, 文件名可以不一致(所以在这里使用pkg这个名字不合适)
"github.com/go-learn/pkg"
// 如果需要导入包而不使用, 则用匿名导入, 把别名写成_
_ "math"
)func pkgImportTest() {
// 访问的时候用的是包名, 而不是文件名和文件夹名
// 如果有别名则用别名
Println(adder.Add(1, 2))
}func main() {
pkgImportTest()
}
推荐阅读
- Go|Docker后端部署详解(Go+Nginx)
- GO|GO,GO,GO!
- Go成长之路|go中判断空字符串、nil和len(t)的用法
- go编译tools
- go grpc安装与使用
- goroutine 调度原理
- Go|Go进阶之路——复杂类型
- Go进阶之路——变量
- Go进阶之路——流程控制语句