在同一文件夹中导入 go 文件

我在将本地 go 文件导入另一个 go 文件时遇到困难。


我的项目结构如下


-samplego

--pkg

--src

---github.com

----xxxx

-----a.go

-----b.go

--bin

我正在尝试在 b.go 中导入 a.go。我尝试了以下,


import "a"

import "github.com/xxxx/a"

这些都没有奏效..我知道我必须干预 GOPATH,但我无法正确解决。目前我的 GOPATH 指向 samplego(/workspace/samplego)。我收到以下错误


cannot find package "a" in any of:

/usr/local/go/src/pkg/a (from $GOROOT)

/workspace/samplego/src/a (from $GOPATH)

另外,当这些源文件被导入另一个项目/模块时,GOPATH 是如何工作的?那么本地进口会成为问题吗?在这种情况下,最佳实践是什么 - 模块中是否只有一个 go 文件(带有相关测试)?


慕妹3146593
浏览 297回答 3
3回答

慕田峪4524236

只要您将a.go和声明b.go在同一个包中,就不需要导入。然后,您可以使用以下go run方式识别多个文件:$ go run a.go b.go

哔哔one

./main.go(在主要包中)./a/a.go(在包 a 中)./a/b.go(在包 a 中)在这种情况下:main.go import "./a"它可以调用 a.go 和 b.go 中的函数,首字母大写。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go