docs: package 包

单/多行导入、别名/匿名导入、init 初始化
This commit is contained in:
Shikong 2021-10-04 03:20:28 +08:00
parent 1a00ff6615
commit d94d3606e1
2 changed files with 28 additions and 1 deletions

View File

@ -1,5 +1,14 @@
package calc
import "fmt"
// 导入包时自动触发 init 函数
// init 函数既没有参数也没有返回值
// 不能在代码中主动调用
func init() {
fmt.Println("calc 包被导入")
}
// 包中的标识符
// 如果首字母为小写 则表示为私有 只在当前包内生效 对外不可见
// 如果为大写 则表示为共有 对外部可见

View File

@ -1,14 +1,32 @@
package main
// 单行导入
//import "fmt"
// 多行导入
import (
"fmt"
// 如果使用 go mod init package 建立主包 则为相对于主包的路径
"package/calc"
// 默认使用相对于 GOPATH/src 下的路径
//"skcks.cn/Shikong/golang-study/base/package/calc"
// 自定义包名
// 别名 包路径
c "package/calc"
// 匿名 导入包
// 只导入包 而不使用包内的数据/方法
// 一般用于触发 包 的 init 初始化
_ "package/calc"
// 多次导入同一个包实际只会执行一次 init 方法
)
func init() {
fmt.Println("package 包初始化")
}
func main() {
fmt.Println(calc.Add(1, 2))
fmt.Println(c.Add(1, 2))
}