G0Project
,从而创建项目。
//利用go mod进行初始化项目
go mod init G0Project
在GOPATH
路径中追加一个路径
2. 导入本地包 2.1 目录结构 2.2 package项目下的目录结构 add.go文件在我的mac电脑上的,原本的
GOPATH
的路径为:"/Users/cdf/go"
,但是由于我并没有在该路径下创建项目,所以需要将这个文件夹G0Project
的路径添加至GOPATH
中,具体步骤如下:vim ~/.bash_profile
然后,在
GOPATH
路径那里添加这个文件夹G0Project
的路径,如图:
随后,source一下source ~/.bash_profile
这样就在将
G0Project
这个项目添加至GOPATH
中。这里值得注意一点的是,如果将这个G0Project项目文件不添加至GOPATH路径中,之后导入本地包,就会出错了!!!
package calc
import (
"fmt"
"package/snow"
)
/*
1、标识符首字母大写标识对外可见
2、通常不对外的标识符都是要首字母小写
*/
var Name = "沙河小王子"
func Add(x, y int) int {
snow.Snow()
return x + y
}
/*
init函数在包导入的时候自动执行
init函数没有参数也没有返回值
*/
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"
)
/*
Go语言中不允许导入包而不使用
Go语言中不允许循环导入包
当你的代码都放在$GOPATH目录下的话,我们导入包的路径
要从$GOPATH/src后面的路径写起
*/
//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. 导入包分析
Go语言中不允许导入包而不使用Go语言中不允许循环导入包当你的代码都放在4. 整个项目的运行结果$GOPATH
目录下的话,我们导入包的路径要从$GOPATH/src
后面的路径写起init函数
用来做一些初始化工作的init函数
在包导入的时候自动执行init函数
没有参数也没有返回值
这就是导入本地包的整个过程,导入包后,直接利用包名.函数名
就可以调用了,不过提前是该包里面的函数或方法是首字母大写
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)