Trong GOPATH của tôi, tôi có một cái gì đó như thế này:Golang: Lỗi "không thể tải gói: gói my_prog: tìm thấy gói my_prog và chính"
/bin/
/pkg/
/src/
/src/my_prog/
/src/my_prog/main.go
/src/my_prog/d_interface.go
/src/my_prog/d_struct_that_implements_the_interface.go
Trong main.go
Tôi có package main
, trong d_interface.go
và d_struct_that_implements_the_interface.go
Tôi có package my_prog
.
Khi tôi cố gắng go build my_prog
tôi nhận được lỗi sau:
can't load package: package my_prog: found packages my_prog (d_interface.go) and main (main.go) in C:\dev\Code\Go\src\my_prog
Điều này có nghĩa rằng bất kỳ tập tin đó thuộc về package main
nên đi trong thư mục riêng của mình? Nếu vậy, lý do cho việc này là gì?
Có, nhưng gói chính có đủ điều kiện làm gói độc lập không? Theo sự hiểu biết của tôi, gói chính là một ngôn ngữ không gian của ngôn ngữ cung cấp điểm vào (giống như các lớp của Java có chính tĩnh công cộng). – TheTeaMan
Vâng, đó là cách hoạt động của nó. Trong thực tế tôi đặt trong gói "chính" của tôi rất ít mã, chỉ có một mà không thể được sử dụng trong các chương trình khác. –
Đó là khá khó chịu để được thẳng thắn. Tôi không thấy lý do để tách điểm nhập chính khỏi phần còn lại của chương trình. Tôi sẽ chấp nhận câu trả lời này. – TheTeaMan