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文件中是否有其他错误未解决

相关推荐
花酒锄作田5 小时前
MCP官方Go SDK尝鲜
golang·mcp
兩尛5 小时前
c++知识点2
开发语言·c++
fengfuyao9855 小时前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck6 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
Hx_Ma166 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode7 小时前
原子操作类LongAdder
java·开发语言
lly2024068 小时前
C 语言中的结构体
开发语言
JAVA+C语言8 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
青岑CTF10 小时前
攻防世界-Ics-05-胎教版wp
开发语言·安全·web安全·网络安全·php
Li emily10 小时前
如何通过外汇API平台快速实现实时数据接入?
开发语言·python·api·fastapi·美股