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 關注
- 223 瀏覽
添加回答
舉報