亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

go中如何從當前目錄導入文件

go中如何從當前目錄導入文件

Go
FFIVE 2023-07-31 10:59:29
介紹我正在嘗試將我的導入EventController.go到我的main.go文件中。目錄:├───Controllers│    └───Event│        └───EventController.go├───Models├───Routes│└ Main.go   問題:import (    "log"    "net/http"    _ "/Controllers/Event/EventController.go" //problem here)錯誤 :cannot import absolute path我閱讀了一些文檔,但問題是我發現我做得正確,盡管我了解了 $GOPATH 但我想使用本地目錄。我做錯了什么以及這個錯誤是關于什么的注意:我想補充一點,我正在使用 Windows 作為操作系統謝謝。
查看完整描述

3 回答

?
慕虎7371278

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")

}

在 Go Playground 上運行此示例。



查看完整回答
反對 回復 2023-07-31
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

您無法導入文件。您可以導入一個包。因此,假設您的 main 包是“github.com/mypackage”,那么您應該導入“github.com/mypackage/Controllers/Event”。



查看完整回答
反對 回復 2023-07-31
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

Go 支持包級導入。您可以通過將包添加到文件開頭的導入語句來導入包。


對于你的情況,你應該做這樣的事情 -


import (

    "log"

    "net/http"


    "Controllers/Event/EventController"

)

另外,您應該從文件名中刪除第一個“/”


_ /Controllers/Event/EventController.go" //problem here


因為您的Controllers文件夾與Main.go文件位于同一級別。您應該始終在導入語句中給出相對路徑。


這樣,您就可以使用EventController文件夾下列出的任何文件。


查看完整回答
反對 回復 2023-07-31
  • 3 回答
  • 0 關注
  • 223 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號