2014-04-06 34 views
1

我想將我的Go代碼組織成更小的塊。讓我們假設我正在編寫一個遵循MVC模式的Web應用程序。我想組織這樣我的代碼:如何在Go中導入本地文件?

main.go 
controllers/whatever/whatever.go 
models/whateverelse/whateverelse.go 

,比main.go我想:

import "controllers/whatever" 

這可能與去?這似乎是唯一的選擇,沒有太大意義的是把這些文件放到GOPATH/src文件夾中。在這種情況下,我需要設置git倉庫來跟蹤$ GOPATH /而不是跟蹤我的項目,即$ GOPATH/src/github/username/project。

+0

[如何在golang中使用自定義包]可能的重複?(http://stackoverflow.com/questions/15049903/how-to-use-custom-packages-in-golang) – gavv

回答

1

該解決方案來自IRC感謝jaw22:

import "github.com/yoursuername/yourproject/yourlib" 
1

您,如果您有標準github目錄結構肯定可以工作的解決方案。但是,我想指出,要導入一個go庫,您只需指定從該庫下面的目錄開始的路徑,該目錄從src以下開始。

如果你的項目庫具有路徑:

src/yourproject1/controllers 

和主代碼具有路徑:

src/yourproject2/main.go 

在main.go,你只需要說:

import "yourproject1/controllers"