.net 배경에서 왔으며 현재 첫 번째 Go 프로젝트를 보다 일반적인 Go 프로젝트 구조(이 것과 유사)에 적용하려고 노력 중입니다. 내가 이해하지 못하는 것은 종속성이 실수로 속하지 않는 패키지로 끝나는 것을 방지하는 방법입니다.
foo
라는 애플리케이션과 모델이라는 두 부분으로 구성된 프로젝트가 있다고 가정해 보겠습니다.
foo
애플리케이션은 http, 로깅, 메트릭 등 라이브러리에 따라 달라질 수 있습니다. 프로젝트는 다음과 같습니다:
으아아아그러나 모듈 파일은 루트 디렉터리에 있으므로 이 모델에서는 go get github.com/httplib
将使 httplib
도 사용할 수 있습니다. 이 방법에는 단점이 있습니다:
httplib
를 모델에 쉽게 요구할 수 있습니다. go.mod
모델에 대한 종속성과 애플리케이션에 대한 종속성이 무엇인지 알 수 없습니다. 이제 매우 세분화된 모듈을 사용하고 개발을 위해 go.work
파일을 추가할 수 있지만 이는 유지 관리가 어렵고 참조 구조와도 맞지 않습니다.
모든 패키지에서 종속성을 사용할 수 없게 만드는 방법은 무엇입니까? 이것이 현명한가?
모든 패키지에 종속성을 사용하지 않도록 하는 방법[? ]
(모듈 사용)은 할 수 없습니다.
[…] 이게 현명한 일인가요?
아니요, 절대 아닙니다.
눈에 보이는 "단점"은 전혀 문제가 되지 않으며 실무상 문제를 일으키지 않습니다.
위 내용은 모듈의 모든 패키지에 종속성을 사용 가능하게 만드는 것을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!