go-mod包管理与应用,常见错误排查方法

go mod进行包管理

go 中 包管理使用go mod 进行包管理

go mod init 项目名称

复制代码
go mod init myproject_go

生成的go.mod中有

module myproject_go

创建目录go_service 其下有两个go文件,go_request.go go_write.go . 根目录下有main.go入口文件。于是项目结构类似于:

-myproject_go

-go_service

-go_request.go

  • go_write.go

-main.go

go_request.go中第一行是定义包名称:

package mypackage

注意:这里定义什么package name (比如本文件是mypackage ),本目录下是属于一个package,定义的package name应该是同一个。一个包目录下只能有一个package,不同文件定义不同的package会报错

则go_write.go中第一行也应该是

package mypackage

在main.go调用package应该是如下引用, 表示引入go_service下的mypackage包

复制代码
import (
	mypackage  "dongcha/src/go_service"
)

func main(){

mypackage.FuncName() //调用package中go文件中定义的FuncName()
}

使用包来调用包中定义的函数。此函数必须是大写开头的。

若是通过package.FuncName()方式调用,但是报无法识别的错误:

1,检查包的引用是否正确

2,检查函数名称是否大写开头

3,可以检查相关.go文件中是否有其他错误未解决

相关推荐
SimonKing3 分钟前
AI时代,一个Skill如何让Java项目结构自动化?
java·后端·程序员
似水明俊德3 分钟前
11-C#
开发语言·c#
xushichao19894 分钟前
C++中的享元模式
开发语言·c++·算法
IT_陈寒10 分钟前
Redis 缓存击穿 vs 雪崩:5个实战方案让你的系统稳如磐石
前端·人工智能·后端
fareast_mzh11 分钟前
Mistral AI本地部署 C++无需Nvidiad独立显卡也能运行(CPU推理)
开发语言·c++·人工智能
Jackey_Song_Odd13 分钟前
Part 1:Python语言核心 - Control Flow 控制流
开发语言·windows·python
spring29979214 分钟前
Spring Boot 整合 Druid 并开启监控
java·spring boot·后端
m0_7166670716 分钟前
C++中的访问者模式高级应用
开发语言·c++·算法
小江的记录本16 分钟前
【会话:Cookie与Session】Cookie与Session的区别(附对比表)
java·数据库·后端·sql·http·https·安全架构
大鹏说大话16 分钟前
构建高并发缓存系统:架构设计、Redis策略与灾难防御
开发语言