3 回答
TA贡献1802条经验 获得超4个赞
有几个问题:
导入的是包,而不是文件(如其他答案中所述)
文件绝对导入路径无效,如错误所示。应用程序可以使用文件相对导入路径(路径以“./”开头)或相对于 Go 工作区的路径。相对于 Go 工作区的导入路径是首选形式。
习惯上对包(及其相应的目录)使用小写名称。问题中的驼峰式命名是可行的,但最好顺其自然。
以下是如何重新组织上面给出的代码。这假设 main.go 位于导入路径为“myapp”的包中。将此导入路径更改为您想要的任何路径。
-- main.go --
package main
import (
"log"
_ "myapp/controllers/event"
)
func main() {
log.Println("hello from main")
}
-- go.mod --
module myapp
-- controllers/event/eventController.go --
package event
import "log"
func init() {
log.Println("hello from controllers/event")
}
TA贡献1804条经验 获得超7个赞
您无法导入文件。您可以导入一个包。因此,假设您的 main 包是“github.com/mypackage”,那么您应该导入“github.com/mypackage/Controllers/Event”。
TA贡献1851条经验 获得超4个赞
Go 支持包级导入。您可以通过将包添加到文件开头的导入语句来导入包。
对于你的情况,你应该做这样的事情 -
import (
"log"
"net/http"
"Controllers/Event/EventController"
)
另外,您应该从文件名中删除第一个“/”
_ /Controllers/Event/EventController.go" //problem here
因为您的Controllers文件夹与Main.go文件位于同一级别。您应该始终在导入语句中给出相对路径。
这样,您就可以使用EventController文件夹下列出的任何文件。
- 3 回答
- 0 关注
- 165 浏览
添加回答
举报