> 백엔드 개발 > Golang > Go 프로젝트의 동일한 디렉터리에 라이브러리와 CLI가 모두 있을 수 있나요?

Go 프로젝트의 동일한 디렉터리에 라이브러리와 CLI가 모두 있을 수 있나요?

Barbara Streisand
풀어 주다: 2024-12-06 16:28:13
원래의
955명이 탐색했습니다.

Can a Go Project Have Both a Library and a CLI in the Same Directory?

두 개의 패키지가 같은 디렉터리에 있을 수 있나요?

라이브러리와 명령줄 인터페이스(CLI)가 모두 필요한 프로젝트를 개발할 때 동일한 디렉토리에 존재하는 두 패키지 사이에 충돌이 발생하는 것은 흔한 일입니다. 진입점으로 "func main"이 있는 "main"이라는 패키지에 대한 Go 컴파일러의 요구 사항으로 인해 라이브러리와 CLI 모두에 대해 별도의 패키지를 갖는 것이 불가능하다고 생각됩니다.

해결책 : 중첩된 패키지 구조

그러나 두 패키지를 모두 동일한 디렉터리 내의 새 폴더로 이동하여 이 문제를 해결하는 방법이 있습니다. "main.go" 파일. 중요한 것은 "$GOPATH" 내의 올바른 경로에서 새 패키지를 가져오는 것입니다.

예:

업데이트된 디렉터리 구조를 고려하세요.

"main.go"의 중첩된 패키지에서 새 패키지를 가져옵니다. 경로:

"a.go"에서 라이브러리에 대한 함수 정의:

빌드 및 실행:

현재 , 프로젝트를 성공적으로 빌드하고 실행할 수 있습니다.

이 솔루션을 사용하면 라이브러리와 (패키지 "a")와 CLI(패키지 "main")를 같은 디렉터리에 배치하여 같은 디렉터리에 같은 이름을 가진 두 개의 패키지가 있을 때 발생하는 충돌을 해결했습니다.

위 내용은 Go 프로젝트의 동일한 디렉터리에 라이브러리와 CLI가 모두 있을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿