当前位置:   article > 正文

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

go 语言导入同级目录文件

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

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

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

项目结构如下图

在main.go中代码如下

  1. package main //每个程序必须要有的一个包 main
  2. import "fmt"
  3. func main() {
  4. fmt.Println("我是main.go里面的main函数")
  5. }

在say.go中的代码如下

  1. package main //因为和main.go函数是同级,所以只能使用和main.go一样的包名 : main 不然会找不到
  2. import "fmt"
  3. func sayHello() {
  4. fmt.Println("我是say.go里面的sayHello函数")
  5. }

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

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

2、调用不同目录的包

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

go mod init test2

打开go.mod文件

  1. module test2
  2. go 1.22.4

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

  1. package calc //包名最好和文件夹名一致
  2. //方法名的首字母为大写,意味着可以让其他目录调用(共有)
  3. func Add(a, b int) int {
  4. return a + b
  5. }
  6. //方法名的首字母为小写,意味着只能让同一个包名的使用(私有)
  7. func minus(a,b int) int {
  8. return a - b
  9. }

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

  1. package main //每个程序必须要有的一个包 main
  2. import "fmt"
  3. import "test2/calc" //test2 是go.mod中module后面的值, / 后面接你要导入的文件夹
  4. //也可以使用 improt ("fmt" "test2/calc")
  5. func main() {
  6. fmt.Println("我是main.go里面的main函数")
  7. sayHello()
  8. result := calc.Add(1, 2) //能够使用calc包里面的共有函数Add;如果使用私有函数就会报错
  9. fmt.Printf("result:%d", result)
  10. }

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/959308
推荐阅读
相关标签
  

闽ICP备14008679号