我百度搜索很久都没有解决这个问题,大多数都是因为GO111MODULE设置
注意:
会使用到go mod 包管理
项目结构
demo1
--service
----user_service.go
--main.go
初始化模块
go mod init demo1
目录下会创建一个go.mod文件
module demo1
go 1.20
User_service代码
package service
import "fmt"
func getConn(){
fmt.Println("user_service")
}
我们现在要导入service包
package main
import (
"fmt"
"demo1/service" //导入同一项目下的service包
)
func main(){
//调用service下getConn方法
service.getConn()
}
报错这个方法未定义
.\main.go:7:10: undefined: service.getConn
解决办法
原因就是导入包里的函数首字母必须大写
代码如下
user_service
package service
import "fmt"
func GetConn(){
fmt.Println("user_service")
}
main
package main
import (
"fmt"
"demo1/service"
)
func main(){
service.GetConn()
fmt.Println("main")
}
成功调用service包
PS C:\Users\aaa\Desktop\GO\demo1> go run main.go
user_service
main