본문 바로가기
Development/Golang

[Golang] Go 코드 실행 및 컴파일 하기

by 선인장 🌵 2022. 3. 16.
728x90
728x90

Go 코드 실행 및 컴파일 하기

Golang을 설치했다면 이제 Golang을 이용해서 소스 코드를 작성하고 실행 및 컴파일(Compile)을 해서 사용을 할 것이다.

설치를 아직 하지 않았다면, 아래 링크를 참고하여 Golang을 먼저 설치하도록 하자.

 

[Golang] MacOS(맥 OS) Golang 설치하기

MacOS(맥 OS) Golang 설치하기 요즘 많이 사용되고 있는 Go programming language로 개발된 오픈소스 빌드 및 개발을 위해서 MacOS(맥 OS)에 설치해보려고 한다. 우선 Go를 설치하기 위해서는 공식 홈페이지에

happylie.tistory.com

그렇다면 Go 소스 코드가 어떤 식으로 실행되는지 그리고 어떻게 컴파일을 하는지 간단히 알아보도록 하자.

[Golang] Go 코드 실행 및 컴파일 하기

1. 테스트 소스 코드 작성

vi를 통해서 작성해도 되고 사용하는 IDE가 있다면 그것을 통해서 작성해도 상관없다.

우선은 Mac 환경에서 터미널 환경을 통해서 진행하도록 하겠다.

추후 Golang과 잘 맞는 IDE 설치법 및 사용법을 작성하도록 하겠다.

# Go Test Souce Code

package main

import "fmt"

func main() {
	fmt.Println("Hello Golang~")
}

2. Go 실행 및 컴파일을 위한 명령어 설명

Go를 설치하고 나면 다양한 Go를 통해 사용 가능한 명령어들이 제공된다.

그중 실행 및 컴파일을 하기 위해서 사용하는 명령어에 대해서 먼저 알아보도록 하자.

명령어 설명
go fmt 소스 코드 형식을 Go 표준 포멧형식으로 정렬
go run 소스 코드를 바로 컴파일한 다음 바로 실행(단, 컴파일된 실행 파일은 저장되지 않음)
go build 소스 코드를 바이너리 파일로 컴파일 진행
728x90

3. 테스트 소스 코드 바로 실행하기

이제 테스트로 작성한 소스 코드를 바로 한번 실행해보자.

  • 작성한 테스트 소스 코드 hello.go가 있는 위치로 이동
  • $ go run hello.go을 실행
# Go Test Code Run

$ cat hello.go
package main

import "fmt"

func main() {
	fmt.Println("Hello, Go!")
}

$ go run hello.go
Hello, Go!

3. 테스트 소스 코드 바로 실행하기
3. 테스트 소스 코드 바로 실행하기

위와 같이 명령을 실행하면 바로 소스 코드가 컴파일되면서 실행이 된다.

물론 코드에 문제가 있다면 에러를 발생하겠지만 그 부분은 우선 넘어가도록 하자.

go run 명령어를 이용하면 별로의 컴파일 단계를 거칠 필요 없어 소스 코드가 변경되거나, 간단하게 작성한 소스 코드일 경우 사용하면 좋다.

728x90

4. Test 소스 코드 컴파일 하기

소스 코드를 컴파일을 진행하여 바이너리 형태로 실행해 보도록 하자.

컴파일을 통해 바이너리 형태로 실행하는 장점은 Golang뿐만 아니라 여러 언어들이 있지만 해당 설명은 아래 링크로 대체한다.

컴파일을 하는 이유는 컴퓨터는 해당 소스 코드를 바로 읽어서 실행할 수 없기에 컴퓨터가 실행할 수 있도록 바이너리 포맷으로 변환을 해줘야 한다.

3번 내용에서도 나왔지만 run 명령어를 이용하면 컴파일을 하고 실행되고 컴파일된 바이너리는 바로 삭제가 된다.

컴파일이 되는 순서를 간단히 보면 아래와 같다.

  • 소스 코드(hello.go) → 컴파일러 → 컴파일된 코드(실행 파일) → 컴파일된 코드 실행 → 컴퓨터가 컴파일된 코드를 읽어 실행

이제 테스트로 작성한 소스 코드를 컴파일하여 실행해보자.

  • 작성한 테스트 소스 코드 hello.go 가 있는 위치로 이동
  • $ go fmt hello.go을 실행(fmt 명령어는 필수 과정이 아니며, IDE를 사용하는 경우 자동으로 처리해준다.)
  • $ go build hello.go
  • 컴파일된 바이너리 실행
    • 리눅스/MacOS에서는 ./hello
    • 윈도우에서는 hello.exe
# Go Test Code Compile

$ cat hello.go
package main

import "fmt"

func main() {
	fmt.Println("Hello, Go!")
}

$ go fmt hello.go

$ go build hello.go

$ ./hello.go
Hello, Go!

4. Test 소스 코드 컴파일 하기
4. Test 소스 코드 컴파일 하기

이번에 Go 코드 실행 및 컴파일하는 방법을 알아보았다.

간단한 소스로 실행 방법, 컴파일 방법에 대해서 정확히 이해를 하도록 하자.

728x90
728x90


🌵댓글

 

loading