2014-04-10 22 views
6

Tôi chỉ muốn xác nhận sự hiểu biết của mình về cấu trúc thư mục dự án điển hình trong dự án Go, theo sau Go tool conventions.quy ước cấu trúc thư mục dự án go-lang

Nếu tôi đang viết gói có tên là my-package, sử dụng gói bên ngoài của bên thứ ba khác - other-package. Sau đó dựa trên các quy ước, cấu trúc thư mục này có đúng không?

Lý do tôi hỏi lại điều này vì không giống như các quy ước ngôn ngữ khác, người dùng và mã bên thứ ba nằm trong cùng một thư mục cấp cao nhất.

+0

Pwd của cấu trúc thư mục của tôi: '' '/go/src/github.com/github-account-name/project-name '' ' –

+0

vâng, miễn là gốc là $ GOPATH –

Trả lời

4

qua irc go-hạt

máy của người dùng sẽ có một chung $GOPATH/src cho tất cả các dự án #. Điều này $GOPATH/src có thể có nhiều dự án (người dùng, gói bên ngoài, vv) ở đó. Người dùng sẽ chỉ cam kết $GOPATH/src/mypackage với src repo của họ.

Nếu bạn muốn có thư mục riêng cho src và nguồn gói của bên thứ ba, sau đó thêm một đường dẫn khác vào $GOPATH. go get sẽ tải xuống gói của bên thứ 3 đến đường dẫn đó. go-get tải xuống gói thứ 3 đến đường dẫn đầu tiên mà nó tìm thấy trong dãy đường dẫn được chỉ định bởi $GOPATH.

1

Golang quá khác biệt với các ngôn ngữ khác có liên quan đến chủ đề này, tôi có thể nói rằng trong những ngày khó khăn của tôi với Golang rất khó hiểu chủ đề này. Tôi khuyên bạn nên có tất cả các proyects trên $ GOPATH/src và không có nhiều hơn một $ GOPATH.

On GOLANG chúng ta phải thích nghi với nó, giống như sa http://golang.org/doc/code.html (Mã số tổ chức)

+0

thì nhập khẩu trông như thế nào đối với gói tùy chỉnh của bạn? ví dụ: bạn có dự án của bạn trong '/ src/project1' và một số gói trình trợ giúp nằm trong'/src/project1/helper'. Bạn có phải làm 'import 'project1/myhelper" '? Dường như với tôi nó sẽ sạch hơn nếu từ khóa 'project1' có thể bị bỏ qua (và điều này sẽ xảy ra nếu đây là dự án duy nhất của chúng ta trong thư mục' src' vì chúng ta chỉ xóa 'project1' và di chuyển tất cả các tệp và thư mục khác lên cấp). Chúng ta có thể làm điều này dù sao bằng cách nào đó (trong khi vẫn còn có nhiều dự án)? – veich

Các vấn đề liên quan