Golang에서 패키지로서 디렉토리를 제외하는 방법
Takashi Yamamoto
Infrastructure Engineer · Leapcell

Key Takeaways
- 디렉터리는
.go
파일이 포함된 경우에만 패키지로 취급됩니다. - 빌드 제약 조건(
// +build tag
)은 컴파일에서 파일을 제외할 수 있습니다. - GoLand와 같은 IDE를 사용하면 인덱싱을 방지하기 위해 디렉터리를 제외할 수 있습니다.
Go에서 하나 이상의 Go 소스 파일(.go
파일)을 포함하는 모든 디렉터리는 패키지로 간주됩니다. 그러나 디렉터리가 패키지로 취급되지 않도록 제외하려는 시나리오가 있을 수 있습니다. 이는 디렉터리에 Go 소스 파일이 포함되지 않도록 하거나 빌드 제약 조건을 사용하여 파일이 빌드에 포함되지 않도록 하여 달성할 수 있습니다.
1. 디렉터리에서 Go 소스 파일 제거
디렉터리가 패키지로 인식되지 않도록 제외하는 가장 간단한 방법은 해당 디렉터리에서 모든 .go
파일을 제거하는 것입니다. Go 소스 파일이 없으면 Go 툴체인은 디렉터리를 패키지로 취급하지 않습니다.
2. 빌드 제약 조건 사용
디렉터리에 Go 소스 파일을 유지해야 하지만 빌드 프로세스에서 제외하려면 빌드 제약 조건(빌드 태그라고도 함)을 사용할 수 있습니다. 빌드 제약 조건은 지정된 조건에 따라 Go 컴파일러가 파일을 포함하거나 제외하도록 지시하는 특수 주석입니다.
빌드에서 파일을 제외하려면 빌드 중에 충족되지 않는 조건을 지정하는 파일 상단에 빌드 제약 조건을 추가합니다. 예를 들어 사용자 정의 빌드 태그 exclude
를 정의하고 다음과 같이 사용할 수 있습니다.
// +build exclude package yourpackage // Your code here
기본적으로 exclude
태그는 정의되지 않으므로 Go 컴파일러는 빌드 프로세스 중에 이 파일을 무시합니다. 파일을 포함하려면 빌드 중에 exclude
태그를 지정해야 합니다.
go build -tags exclude
빌드 제약 조건에 대한 자세한 내용은 공식 Go 문서를 참조하십시오.
https://golang.org/pkg/go/build/#hdr-Build_Constraints
3. GoLand에서 디렉터리 제외
GoLand를 통합 개발 환경(IDE)으로 사용하는 경우 프로젝트에서 디렉터리를 제외하여 패키지로 취급되지 않도록 할 수 있습니다. 이는 인덱싱을 방지하거나 실수로 수정하는 것을 방지하는 데 유용할 수 있습니다.
GoLand에서 디렉터리를 제외하려면:
- 프로젝트 도구 창에서 디렉터리를 마우스 오른쪽 버튼으로 클릭합니다.
디렉터리를 다음으로 표시
>제외됨
을 선택합니다.
이 작업은 프로젝트 보기 및 빌드 프로세스에서 디렉터리를 제외합니다.
이러한 방법을 활용하여 Go 프로젝트에서 디렉터리가 패키지로 취급되지 않도록 효과적으로 제외할 수 있습니다.
FAQs
아니요, Golang은 디렉터리 이름이 아닌 파일 내용으로 패키지를 인식합니다.
아니요, 빌드 제약 조건이 적용되면 빌드에 포함되지 않습니다.
.gitignore
를 사용하거나 빌드 스크립트에서 디렉터리를 제외합니다.
Go 프로젝트 호스팅을 위한 최고의 선택, Leapcell입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무제한 프로젝트를 무료로 배포
- 사용량에 따라서만 요금을 지불하십시오. 요청도 요금도 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼 지불하십시오.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
손쉬운 확장성 및 고성능
- 고도의 동시성을 쉽게 처리하기 위한 자동 확장.
- 운영 오버헤드가 전혀 없습니다. 구축에만 집중하십시오.
설명서에서 자세히 알아보십시오!
X에서 우리를 팔로우하세요: @LeapcellHQ