当前位置: 代码网 > it编程>前端脚本>Golang > GO语言导入自己写的包(同级目录和不同目录)

GO语言导入自己写的包(同级目录和不同目录)

2024年11月04日 Golang 我要评论
作为自学小白,困扰了我好久的问题,解决这个问题后,记录该文章 用以帮助后续刚入门的朋友一、在gopath环境变量里的src文件下创建一个练习文件test2(不能含有下划线)二、创建一个主函数main.

作为自学小白,困扰了我好久的问题,解决这个问题后,记录该文章 用以帮助后续刚入门的朋友

一、在gopath环境变量里的src文件下创建一个练习文件test2(不能含有下划线)

二、创建一个主函数main.go(每一个项目中都必须有一个main包),say.go(用于展示同级目录),calc文件夹,且calc文件夹内创建一个calc.go(用于展示不同级目录)

1、调用同级目录的方法

项目结构如下图

在main.go中代码如下

package main //每个程序必须要有的一个包 main

import "fmt"

func main() {
	fmt.println("我是main.go里面的main函数")
}

在say.go中的代码如下

package main  //因为和main.go函数是同级,所以只能使用和main.go一样的包名 : main  不然会找不到

import "fmt"

func sayhello() {		
	fmt.println("我是say.go里面的sayhello函数")
}

这个时候 在main.go中的main函数可以直接调用同级目录say.go中的sayhello函数。输入同级代码时会出现提示

在main函数中直接使用即可  sayhello(),结果如下

2、调用不同目录的包

首先在当前的目录中初始化(该演示项目为test2,在终端中 输入go mod init '当前的项目名'),初始化结束后,会发现在项目中多了一个go.mod文件

go mod init test2

打开go.mod文件

module test2

go 1.22.4

在calc文件夹中的calc.go中填写以下代码 (注意 共有 和 私有  方法)

package calc  //包名最好和文件夹名一致

//方法名的首字母为大写,意味着可以让其他目录调用(共有)
func add(a, b int) int {
	return a + b
}
//方法名的首字母为小写,意味着只能让同一个包名的使用(私有)
func minus(a,b int) int  {
	return a - b
}

 在main.go中引入calc文件夹里的包

package main //每个程序必须要有的一个包 main

import "fmt"
import "test2/calc" //test2 是go.mod中module后面的值, /  后面接你要导入的文件夹

//也可以使用 improt ("fmt" "test2/calc")

func main() {
	fmt.println("我是main.go里面的main函数")
	sayhello()

	result := calc.add(1, 2)  //能够使用calc包里面的共有函数add;如果使用私有函数就会报错
	fmt.printf("result:%d", result)
}

至此 调用同级目录和不同级目录的包 就成功实现了 

到此这篇关于go语言导入自己写的包(同级目录和不同目录)的文章就介绍到这了,更多相关go语言导入自己写的包内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com