栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

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

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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"
)

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号