- 首先,在桌面上创建一个文件夹G0Project,从而创建项目。
//利用go mod进行初始化项目 go mod init G0Project
- 在GOPATH路径中追加一个路径
2. 导入本地包 2.1 目录结构 2.2 package项目下的目录结构在我的mac电脑上的,原本的GOPATH的路径为:"/Users/cdf/go",但是由于我并没有在该路径下创建项目,所以需要将这个文件夹G0Project的路径添加至GOPATH中,具体步骤如下:
vim ~/.bash_profile然后,在GOPATH路径那里添加这个文件夹G0Project的路径,如图:
随后,source一下source ~/.bash_profile这样就在将G0Project这个项目添加至GOPATH中。
这里值得注意一点的是,如果将这个G0Project项目文件不添加至GOPATH路径中,之后导入本地包,就会出错了!!!
- add.go文件
package calc
import (
"fmt"
"package/snow"
)
var Name = "沙河小王子"
func Add(x, y int) int {
snow.Snow()
return x + y
}
func init() {
fmt.Println("calc init()")
fmt.Println(Name)
}
- sub.go文件
package calc
func sub(x, y int) int {
ret := x -y
return ret
}
- xxx.go文件
package main
import (
"fmt"
"package/calc"
)
//init函数用来做一些初始化工作的
func init() {
fmt.Println("main init()")
}
func main() {
fmt.Println("hello")
ret := calc.Add(10, 20)
fmt.Println(ret)
fmt.Println(calc.Name)
}
- snow.go文件
package snow
import "fmt"
//被calc包导入的一个包
func Snow() {
fmt.Println("下雪了。。。")
}
func init() {
fmt.Println("snow init()")
}
3. 导入包分析
4. 整个项目的运行结果
- Go语言中不允许导入包而不使用
- Go语言中不允许循环导入包
- 当你的代码都放在$GOPATH目录下的话,我们导入包的路径
- 要从$GOPATH/src后面的路径写起
- init函数用来做一些初始化工作的
- init函数在包导入的时候自动执行
- init函数没有参数也没有返回值
这就是导入本地包的整个过程,导入包后,直接利用包名.函数名就可以调用了,不过提前是该包里面的函数或方法是首字母大写。



