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

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

無法導入自定義 go 模塊

無法導入自定義 go 模塊

Go
森欄 2021-12-27 18:06:00
這是我的主文件(server.go):package mainimport (    "net/http"    "routes")func main() {    http.HandleFunc("/", routes.Handler)    http.ListenAndServe(":8000", nil)}我的路由模塊在同一目錄中:package routesfunc Handler(w http.ResponseWriter, r *http.Request) {    // stuff...}當我運行時,go run server.go我收到此錯誤:server.go:6:5: cannot find package "routes" in any of:    /usr/local/Cellar/go/1.6/libexec/src/routes (from $GOROOT)    ~/server/src/routes (from $GOPATH)當我將代碼routes.go放入我的server.go文件時,它運行良好。我無法導入模塊。我試過將$GOPATH變量設置為我的當前目錄,我試過重新排列我的項目目錄以模仿這里的目錄。我的選擇不多了。奇怪的是,一種被如此廣泛采用的語言,關于如何做幾乎所有其他語言都相對容易的事情的文檔如此糟糕。請幫我弄清楚我做錯了什么。更新:這是輸出 go envGOARCH="amd64"GOBIN=""GOEXE=""GOHOSTARCH="amd64"GOHOSTOS="darwin"GOOS="darwin"GOPATH="/Users/me/server"GORACE=""GOROOT="/usr/local/Cellar/go/1.6/libexec"GOTOOLDIR="/usr/local/Cellar/go/1.6/libexec/pkg/tool/darwin_amd64"GO15VENDOREXPERIMENT="1"CC="clang"GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"CXX="clang++"CGO_ENABLED="1"
查看完整描述

2 回答

?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

如何編寫 Go 代碼”文章是入門頁面上的推薦起點,它解釋了這一點。(感謝@elithrar)

彼得Bourgon有一個很好的寫了關于結構良好的圍棋應用。

您應該將routes包放在一個routes文件夾中,或者如果您的主包在路由文件夾中,您可以lib在該文件夾中創建一個包含實際routes包的文件夾。

文件夾結構的原因是由于 goimport語句的工作方式??紤]到導入的工作方式,在同一文件夾中啟用多個包是不明確的。


查看完整回答
反對 回復 2021-12-27
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

將路由包移動到/Users/me/server/src/routes,你應該很高興。


查看完整回答
反對 回復 2021-12-27
  • 2 回答
  • 0 關注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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