mirror of
https://gitee.com/shikong-sk/golang-study
synced 2025-02-22 23:12:15 +08:00
docs: package 包
单/多行导入、别名/匿名导入、init 初始化
This commit is contained in:
parent
1a00ff6615
commit
d94d3606e1
@ -1,5 +1,14 @@
|
||||
package calc
|
||||
|
||||
import "fmt"
|
||||
|
||||
// 导入包时自动触发 init 函数
|
||||
// init 函数既没有参数也没有返回值
|
||||
// 不能在代码中主动调用
|
||||
func init() {
|
||||
fmt.Println("calc 包被导入")
|
||||
}
|
||||
|
||||
// 包中的标识符
|
||||
// 如果首字母为小写 则表示为私有 只在当前包内生效 对外不可见
|
||||
// 如果为大写 则表示为共有 对外部可见
|
||||
|
@ -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))
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user