go언어 소스 코드 모듈화(프로그램 파일 나누기)하는 방법

2015.06.22 17:12 컴퓨터/PC

go언어 소스 코드 모듈화(프로그램 파일 나누기)하는 방법

go언어를 틈이 날 때마다 학습하고 있는데 아직 마스터할 내용이 많지만, 배우는 중에 궁금한 것이 생겼습니다. go언어에서는 소스 코드를 어떻게 모듈화하느냐 하는 것이죠. 프로그램을 작성할 때 습관적으로 소스 코드 파일을 모듈화하는데 신경을 많이 씁니다. 그렇다면 go언어는? 관련 내용을 찾지 못해 헤맸지만, 알고 보니 매우 간단하네요.

go언어 모듈화

▲ 예를 들어 main()에서 계산 함수와 그래프 출력 함수를 호출하려고 하는데, 계산 함수와 그래프 함수를 다른 파일에 작성하고 싶습니다. 계산 함수도 하나의 파일이 아닌 몇 개의 파일로 나누고 싶습니다. 그래서 위 그림처럼 파일 여러 개로 나누어 계산 함수와 그래프 함수를 만든다면 main()에서는 어떻게 호출하면 될까요?

결론부터 말씀드리면 서브 폴더를 패키지로 구성하면 됩니다. 즉, 계산 함수를 가지고 있는 get_average.go와 get_sum.go를 calc 폴더를 만들어 그 안에 넣고, 두 파일의 패키지 이름을 폴더 이름에 맞추어 calc로 합니다. 같은 방법으로 graphic 폴더에 그래프 함수 파일을 넣습니다.

go언어 소스 파일 나누기

▲ 그림으로 설명드리면 main.go가 있는 폴더에 calc와 graphic 폴더를 만들고 각 폴더별로 소스 코드를 작성합니다.

go언어 소스 코드 나누기

▲ 각 폴더가 패키지가 되고 폴더 이름을 패키지 이름으로 소스 코드를 작성합니다.

go언어 모듈화

▲ 이제 (1) 생성한 폴더를 (2) 메인에서 패키지를 import하고 (3) 함수를 호출하면 됩니다. 어떻습니까? 간단하지요?

이렇게 폴더별로 패키지를 구성하면 C언어에서처럼 따로 Include 파일을 만들 필요 없이 패키지의 함수를 사용할 수 있어 편합니다. go언어의 모든 것이 마음에 들지 않지만, 이런 구성은 좋군요.

신고
이 댓글을 비밀 댓글로
  1. 생소한 내용에 머리가 ㅎㅎㅎ