赞
踩
作为自学小白,困扰了我好久的问题,解决这个问题后,记录该文章 用以帮助后续刚入门的朋友
项目结构如下图
在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(),结果如下
首先在当前的目录中初始化(该演示项目为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)
- }
至此 调用同级目录和不同级目录的包 就成功实现了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。