Golang中如何正确导入文件
Golang中如何正确导入文件 我想将另一个Go文件导入到我的main.go中 我的文件结构如下
-root
--templ
--main.go
--others
---others.go
我想在我的main.go中导入others.go,但这个路径不起作用
import "others/others.go"
4 回复
你需要使用相对于 $GOPATH 中 src 文件夹的完整路径。同时,指定包含文件夹就足够了。
更多关于Golang中如何正确导入文件的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
你可以在 Go 语言中进行相对导入,但这样就不能再使用来自 GOPATH 的限定导入。
建议将你的代码放在 Go 工作区中(即 $GOPATH/src)。
抱歉,如果我的GOPATH是C:\Users\Akezhan\go,工作空间是C:\Go\workSpace,这样可以吗?
我的GOROOT是C:\Go\,Path中是C:\Go\bin
在Go语言中,导入的是包(package)而不是具体的文件。根据你的文件结构,需要确保others.go文件声明了正确的包名,并在main.go中使用包路径进行导入。以下是正确的方法:
- 在
others.go中定义包名(假设包名为others):
package others
// 示例函数
func GetMessage() string {
return "Hello from others package"
}
- 在
main.go中导入包:
package main
import "root/others" // 使用模块路径+包路径
func main() {
msg := others.GetMessage()
println(msg)
}
- 确保有正确的模块配置:
在项目根目录(
root/)下需要有go.mod文件。如果尚未创建,运行:
go mod init root
关键点:
- 导入路径基于模块名(
go.mod中的模块名)+包目录路径 - Go导入的是包目录,不是单个文件
- 包内所有文件必须使用相同的包名
如果others.go在others目录中,导入路径应为"root/others"(假设模块名为root)。

