본문 바로가기
IT_Developers/Go

Go 언어의 특징 - 빠른 컴파일, 가비지 컬렉션, 모듈화 패키지

by 고코더 2021. 1. 29.

Go언어의 특징


 

안녕하세요.

고코더 입니다.

 

 

 

 이번 시간에는 Go가 가지고 있는 많은 특징 중에 3가지를 다뤄 보려고 합니다.  빠른 컴파일, 가비지 컬렉션, 모듈화 패키지를 차례대로 알아보겠습니다.

 

 


빠른 컴파일 속도


 

 

 1. 컴파일 언어의 단점은 인터프리터처럼 빠르게 개발을 할 수 없다는 단점이 있었지만 Go는 이런 약점을 보완하였습니다. 즉 컴파일 언어의 단점을 극복한 언어가 되었습니다. 기존의 컴파일 언어를 컴파일할 때 처리해야 되는 헤더 파일이 속도 느리게 하는 요소입니다. 무엇보다 이러한 헤더는 의존관계가 읽혀 있어서 수정 시마다 컴파일을 다시 해야 하는 문제가 있었습니다.

 

 2. 하지만 Go는 다릅니다. 문법적인 복잡한 요소를 최대한 줄였습니다. 덕분에 컴파일 속도가 매우 빠릅니다. 헤더 팔이 없고 패키지 된 소스 코드 덕분입니다. 그리고 문법적으로도 간결하면서 아주 보기 좋은 소스코드를 작성할 수 있습니다.

 

 

 


가비지 컬렉션


 

 

 3. 가비지 컬렉션은 메모리를 알아서 관리해주는 기술입니다.  Java와 C#이 대표적인 예입니다. 그런데 C, C++은 직접 메모리를 할당하고 해제해주어야 합니다. 덕분에 개발자만 죽어납니다. 하지만 Go언어는 메모리를 관리하는 기술을 사용합니다. 메모리를 자동으로 관리해주기 때문에 쉽게 빠르게 개발이 가능합니다.

 

 

 


모듈화 및 패키지


 

 

 4. node.js를 사용하면 npm은 필히 사용해야 하는 패키지 시스템입니다. 인터넷으로 패키지를 받아와서 의존성을 자동으로 주입합니다. 최근에 나온 개발 언어들은 이러한 모듈화 패키지를 필수로 다루고 있습니다. 

 

 5. Go도 역시 이러한 모둘화를 인터넷에 접속해서 소스 코드를 다운로드하여 사용할 수 있게 만들었습니다. 즉 패키지 관리 기능을 통해 의존성 관리를 할 수 있는 특징이 있습니다. 

 

 


마무리


 

장점이 정말 많은 최신의 언어

 

 

댓글