[go] 명령 실행 파일 크기

Go 언어로 개발된 프로그램을 배포할 때 실행 파일의 크기를 최소화하는 것은 중요합니다. 작은 실행 파일은 더 적은 시간과 대역폭을 소비하여 배포와 업데이트를 용이하게 만듭니다. 이 포스트에서는 몇 가지 간단한 방법을 소개하여 Go 언어로 작성된 프로그램의 실행 파일 크기를 최소화하는 방법에 대해 알아보겠습니다.

1. 불필요한 라이브러리 제거

Go 언어는 정적 바이너리로 컴파일됩니다. 그러나 실행 파일에는 때로 필요하지 않은 라이브러리가 포함될 수 있습니다. 따라서 실행 파일 크기를 줄이기 위해 사용하지 않는 라이브러리를 제거하는 것이 좋습니다.

// 예시: 불필요한 라이브러리 제거
// import "unused_library" 주석 처리
// import "used_library"

2. 빌드 플래그 활용

Go 언어의 빌드 과정에서 특정 플래그를 활용하여 실행 파일을 최적화할 수 있습니다. -s-w 플래그는 디버그 정보를 제거하여 실행 파일 크기를 줄이는 데 도움이 됩니다.

go build -ldflags "-s -w" main.go

3. 최적화된 빌드

Go 언어로 빌드할 때 -trimpath 플래그와 함께 -ldflags 플래그를 사용하여 실행 파일 크기를 최적화할 수 있습니다.

go build -trimpath -ldflags "-s -w" main.go

4. 정적 바이너리 빌드

Go 언어의 정적 바이너리 빌드를 통해 실행 파일 크기를 최소화할 수 있습니다. 이 방법은 실행 파일에 필요한 라이브러리를 포함시켜 크기를 줄이는 효과가 있습니다.

go build -ldflags="-linkmode external -extldflags '-static'" main.go

이러한 방법을 통해 Go 언어로 작성된 프로그램의 실행 파일 크기를 최적화할 수 있습니다. 개발자는 프로젝트의 요구에 맞게 적절한 방법을 선택하여 실행 파일의 크기를 효과적으로 관리할 수 있습니다.

참고 자료:

  1. Go 공식 문서 - Go 명령