티스토리 뷰

반응형

 

 

Go에서 go build 명령어는 소스 코드를 컴파일하여 실행 파일을 생성하는 명령어입니다.

 

 

go build는 프로젝트의 메인 패키지를 포함한 모든 패키지를 컴파일하고, 컴파일된 파일을 실행 가능한 바이너리로 만듭니다.

go build 명령어 사용하기

1. 프로젝트 구조

Go 프로젝트는 일반적으로 다음과 같은 디렉토리 구조를 가집니다.

myproject/
│
├── main.go
├── utils.go
└── go.mod   // (필요시 존재)
  • main.go 파일에는 프로그램의 진입점인 main 함수가 포함됩니다.
  • go.mod 파일은 모듈 관리에 사용되며, 모듈을 사용하지 않을 경우 없어도 됩니다.

2. 기본적인 go build 사용

프로젝트 루트 디렉토리에서 go build 명령어를 실행하면, 해당 디렉토리에 있는 Go 소스 파일을 컴파일하여 실행 파일을 생성합니다.

go build

이 명령어는 현재 디렉토리의 main 패키지를 찾아 컴파일하고, 디렉토리에 바이너리 파일(실행 파일)을 생성합니다.

예시:

  • 만약 main.go 파일이 package main을 포함하고 있다면, go build는 프로젝트 루트 디렉토리에 실행 파일을 생성합니다.
    • Linux/macOS: myproject라는 실행 파일이 생성됩니다.
    • Windows: myproject.exe라는 실행 파일이 생성됩니다.

3. 특정 파일 컴파일하기

go build 뒤에 특정 Go 파일을 지정하여 해당 파일만 컴파일할 수 있습니다.

go build main.go

이 명령어는 main.go 파일을 컴파일하여 실행 파일을 생성합니다.

4. 실행 파일 이름 지정

-o 플래그를 사용하면 생성할 실행 파일의 이름을 지정할 수 있습니다.

go build -o myapp

위 명령은 컴파일된 실행 파일을 myapp이라는 이름으로 생성합니다.

5. 외부 모듈 포함 프로젝트 빌드

모듈을 사용하는 프로젝트라면, Go 프로젝트 루트에 go.mod 파일이 존재할 것입니다. 이 경우, go build 명령어를 사용하면 자동으로 go.mod에서 필요한 의존성을 확인하고 해당 모듈들을 포함한 상태로 빌드를 수행합니다.

go build

필요한 모듈들이 다운로드되지 않았을 경우 자동으로 다운로드한 후 빌드가 진행됩니다.

6. 크로스 컴파일 (다른 운영 체제/아키텍처용으로 빌드)

Go는 크로스 컴파일을 매우 쉽게 지원합니다. 환경 변수 GOOSGOARCH를 설정하여 다른 운영 체제나 아키텍처용으로 빌드할 수 있습니다.

예시: Windows용 바이너리 빌드

GOOS=windows GOARCH=amd64 go build -o myapp.exe

예시: Linux용 바이너리 빌드

GOOS=linux GOARCH=amd64 go build -o myapp

7. 디버그 정보 포함된 빌드

디버그 정보를 포함한 빌드를 하려면 -gcflags 옵션을 사용할 수 있습니다.

go build -gcflags "-N -l"

이 명령어는 최적화를 비활성화하고 디버깅을 위한 추가 정보를 포함한 바이너리를 생성합니다.

8. 빌드 결과 확인

빌드가 완료되면, 생성된 실행 파일을 확인할 수 있습니다. 터미널에서 ls 명령어를 사용하여 파일을 확인하거나, 해당 디렉토리에서 실행 파일을 실행할 수 있습니다.

예시:

./myapp

이 명령어는 myapp 파일을 실행하여 프로그램을 실행합니다.

요약

  • go build는 Go 프로그램을 컴파일하여 실행 파일을 생성하는 기본 명령어입니다.
  • 특정 파일을 지정하거나, 실행 파일 이름을 지정할 수 있으며, 크로스 컴파일도 지원합니다.
  • go build는 의존성을 자동으로 관리하여 빌드할 수 있습니다.
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함