【知识碎片】
- GO 项目只有一个
main包,不可导入 - 同一目录下的
.go文件的package必须相同 import后接的是路径,通常路径最后一个分段名与包名相同,但并不是包,只是路径名。 目录结构如下:
helloworld/
├── ceshi
│ └── chesi.go
├── go.mod
└── main.go
情况一:包名和路径最后一个分段名不一致时
//ceshi.go代码
package ceshi_packageName
import "fmt"
func Ceshi() { // 方法名要大写,否则不是导出变量
a := 4
fmt.Println(a)
}
//main.go代码
package main
import (
"fmt"
//"路径"
"helloworld/ceshi"
// 给包起别名 "路径"
// ceshi_p "helloworld/ceshi"
)
func main() {
a := 4
fmt.Println(a)
// 测试
// ceshi_packageName.Ceshi()
// 别名测试
// ceshi_p.Ceshi()
}
情况二:包名和路径一致时
//ceshi.go代码
package ceshi_packageName
import "fmt"
func Ceshi() { // 方法名要大写,否则不是导出变量
a := 4
fmt.Println(a)
}
//main.go代码
package main
import (
"fmt"
// "路径"
"helloworld/ceshi"
)
func main() {
a := 4
fmt.Println(a)
// 测试
ceshi.Ceshi()
}