golandgo语言项目--本地包的导入(将项目添加至GOPATH中)(基于macOS)

golandgo语言项目--本地包的导入(将项目添加至GOPATH中)(基于macOS),第1张

goland/go语言项目–本地包的导入(将项目添加至GOPATH中)(macOS) 1. 创建项目 首先,在桌面上创建一个文件夹G0Project,从而创建项目。
//利用go mod进行初始化项目
go mod init G0Project
GOPATH路径中追加一个路径

在我的mac电脑上的,原本的GOPATH的路径为:"/Users/cdf/go",但是由于我并没有在该路径下创建项目,所以需要将这个文件夹G0Project的路径添加至GOPATH中,具体步骤如下:

vim ~/.bash_profile

然后,在GOPATH路径那里添加这个文件夹G0Project的路径,如图:

随后,source一下

source ~/.bash_profile

这样就在将G0Project这个项目添加至GOPATH中。

这里值得注意一点的是,如果将这个G0Project项目文件不添加至GOPATH路径中,之后导入本地包,就会出错了!!!

2. 导入本地包 2.1 目录结构

2.2 package项目下的目录结构

add.go文件
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语言中不允许循环导入包当你的代码都放在$GOPATH目录下的话,我们导入包的路径要从$GOPATH/src后面的路径写起init函数用来做一些初始化工作的init函数在包导入的时候自动执行init函数没有参数也没有返回值

这就是导入本地包的整个过程,导入包后,直接利用包名.函数名就可以调用了,不过提前是该包里面的函数或方法是首字母大写
4. 整个项目的运行结果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/989788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存