go언어 소스 코드 모듈화(프로그램 파일 나누기)하는 방법
go언어를 틈이 날 때마다 학습하고 있는데 아직 마스터할 내용이 많지만, 배우는 중에 궁금한 것이 생겼습니다. go언어에서는 소스 코드를 어떻게 모듈화하느냐 하는 것이죠. 프로그램을 작성할 때 습관적으로 소스 코드 파일을 모듈화하는데 신경을 많이 씁니다. 그렇다면 go언어는? 관련 내용을 찾지 못해 헤맸지만, 알고 보니 매우 간단하네요.
▲ 예를 들어 main()에서 계산 함수와 그래프 출력 함수를 호출하려고 하는데, 계산 함수와 그래프 함수를 다른 파일에 작성하고 싶습니다. 계산 함수도 하나의 파일이 아닌 몇 개의 파일로 나누고 싶습니다. 그래서 위 그림처럼 파일 여러 개로 나누어 계산 함수와 그래프 함수를 만든다면 main()에서는 어떻게 호출하면 될까요?
결론부터 말씀드리면 서브 폴더를 패키지로 구성하면 됩니다. 즉, 계산 함수를 가지고 있는 get_average.go와 get_sum.go를 calc 폴더를 만들어 그 안에 넣고, 두 파일의 패키지 이름을 폴더 이름에 맞추어 calc로 합니다. 같은 방법으로 graphic 폴더에 그래프 함수 파일을 넣습니다.
▲ 그림으로 설명드리면 main.go가 있는 폴더에 calc와 graphic 폴더를 만들고 각 폴더별로 소스 코드를 작성합니다.
▲ 각 폴더가 패키지가 되고 폴더 이름을 패키지 이름으로 소스 코드를 작성합니다.
▲ 이제 (1) 생성한 폴더를 (2) 메인에서 패키지를 import하고 (3) 함수를 호출하면 됩니다. 어떻습니까? 간단하지요?
이렇게 폴더별로 패키지를 구성하면 C언어에서처럼 따로 Include 파일을 만들 필요 없이 패키지의 함수를 사용할 수 있어 편합니다. go언어의 모든 것이 마음에 들지 않지만, 이런 구성은 좋군요.
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
go언어 통합 개발 환경(IDE) Lite IDE (0) | 2015.07.04 |
---|---|
윈도우에서 go언어(go Lang)을 위한 이클립스와 goEclipse 플러그인으로 개발 환경 구축 방법 (3) | 2015.06.17 |
구글 go언어를 위한 구글 플러스 go언어 커뮤니티 GDG Korea Golang (0) | 2015.03.13 |