sách gpt4 ai đã đi

Cấu trúc thư mục chính xác cho các gói go được sử dụng bởi một dự án go duy nhất

In lại Tác giả: Data Little Sun Thời gian cập nhật: 2023-10-29 03:26:05 29 4
mua khóa gpt4 Nike

Hiện tại tôi đang bắt đầu sử dụng Go và đang tìm hiểu sâu về cách đặt tên gói và cấu trúc thư mục không gian làm việc.

Tuy nhiên, tôi không chắc chắn lắm về cách sắp xếp mã của mình theo đúng chuẩn Go.

Đây là một ví dụ về cấu trúc hiện tại của tôi, nó nằm ở $GOPATH/nguồn ở giữa:

github.com/myusername/project
|-- chính.go
+-- nội bộ
+---- cấu hình
|------ cấu hình.go

Vì vậy, tôi có một tập tin được gọi là dự án Dự án sử dụng cấu hình gói, mà lần lượt ở định dạng mà chỉ nên được sử dụng bởi Chuyên môn hóa sử dụng dự án. Vì vậy, tôi không muốn nó ở trong github.com/myusername/config Tiếp theo phải không?

Bây giờ câu hỏi đặt ra là, liệu có "tốt" khi sử dụng cấu trúc gói nội bộ hay tôi chỉ nên đưa các gói cụ thể của dự án vào github.com/myusername/$pkgname dưới và theo một cách nào đó chỉ ra rằng nó thuộc về dự án(Ví dụ, đặt tên cho nó cấu hình dự án)?

1 Câu trả lời

Nếu dự án của bạn chỉ tạo ra một chương trình, thì cấu trúc phổ biến nhất là cấu trúc bạn đề cập.

Nếu dự án của bạn tạo ra nhiều chương trình, cách tiếp cận phổ biến là sử dụng cấu trúc như thế này:

/
lệnh/
chương trình 1/
chính.đi
chương trình 2/
chính.đi

Nếu dự án của bạn công khai mã Go dưới dạng thư viện để bên thứ ba sử dụng, thì cấu trúc phổ biến nhất là sử dụng thư mục gốc của dự án để công khai mô hình miền và API.

/
mô hình.đi
api.go

Cách này hiệu quả với mã của bên thứ ba, chỉ cần nhập "github.com/user/project" và cung cấp các mô hình và api.

Sự kết hợp giữa lựa chọn thứ hai và thứ ba là phổ biến.

Người ta cũng cho rằng việc sử dụng các gói bao gồm việc sử dụng các phụ thuộc là một biện pháp tốt. Ví dụ. Giả sử dự án của bạn sử dụng máy khách Elasticsearch

/
lệnh/
chương trình 1/
chính.đi
đàn hồi/
impl.go
dao.go
mô hình.đi

Vì vậy, trong dao.go, bạn định nghĩa API của dao, sau đó trong elastic/impl.go, bạn (nhập thư viện elastic, lược đồ miền và) định nghĩa việc triển khai DAO theo thuật ngữ elastic. Cuối cùng, bạn nhập mọi thứ từ main.go để tạo ra chương trình thực tế.

Xem thêm cái nàyGiới thiệu tuyệt vời và ngắn gọn về chủ đề này.

Liên quan đến go - cấu trúc thư mục chính xác cho các gói go được một dự án go duy nhất sử dụng, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/41533693/

29 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com