동일한 이름을 가진 여러 라이브러리 및 바이너리
이 질문은 동일한 이름을 가진 라이브러리와 독립형 바이너리를 생성할 수 있는 가능성을 탐구합니다. Tar 명령줄 도구 및 해당 라이브러리 기능의 예는 이 시나리오를 보여줍니다.
처음에 사용자는 다음 디렉터리 구조를 시도했습니다.
src/ tar/ tar.go # belongs to package tar main.go # imports tar and provides a main function
그러나 이로 인해 "명령 "는 원하는 tar 명령이 아니라 tarbin이라고 합니다.
이 문제를 해결하기 위해 사용자는 go build -o를 사용하여 출력 바이너리 이름을 명시적으로 지정하는 해결 방법을 사용했습니다. $GOPATH/bin/tar tar.
응답자가 제안하는 보다 우아한 솔루션은 코드를 다음과 같이 구성하는 것입니다.
src/ tar/ tar.go # tar libary tar/ main.go # tar binary
이 구조를 사용하면 결과 바이너리의 이름이 tar가 됩니다. , 라이브러리 이름은 tar입니다.
코드가 GitHub에서 호스팅되는 경우 디렉토리 구조는 다음과 같습니다. 다음은 다음과 같습니다.
src/ github.com/ you/ tar/ tar.go # tar libary tar/ main.go # tar binary
이 조직에서는 go get install github.com/you/tar/tar와 함께 사용할 때 go 명령이 바이너리와 라이브러리를 모두 설치할 수 있도록 보장합니다.
장점 이 접근 방식의 장점은 go install ./....
을 사용하여 프로젝트의 모든 코드를 빌드하고 테스트할 수 있다는 것입니다.위 내용은 Go에서 동일한 이름을 가진 라이브러리와 독립 실행형 바이너리를 어떻게 구축할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!