Go 언어(Golang) 입문 - 구글이 만든 현대적 시스템 언어

Go 언어의 탄생

Go(또는 Golang)는 2009년 구글의 로버트 그리즈머, 롭 파이크, 켄 톰슨이 만들었습니다. 켄 톰슨은 C 언어와 유닉스의 공동 창시자이고, 롭 파이크는 UTF-8의 공동 설계자입니다. 이들이 구글의 대규모 시스템 개발에서 겪은 불편함을 해결하기 위해 Go를 만들었습니다. 컴파일 속도, 동시성, 간결함을 핵심 가치로 설계되었습니다.

Go의 핵심 특징

Go는 단순함을 추구합니다. 클래스 상속이 없고 인터페이스를 통한 다형성만 있습니다. 예외(Exception)가 없고 에러를 반환값으로 처리합니다. 제네릭은 Go 1.18에서야 추가되었습니다. 고루틴(Goroutine)과 채널(Channel)로 동시성 프로그래밍이 매우 쉽습니다. go func(){}() 한 줄로 경량 스레드를 생성합니다. 컴파일 결과가 단일 바이너리 파일이라 배포가 간편합니다.

Go가 빛나는 분야

마이크로서비스, 클라우드 인프라, CLI 도구 개발에서 Go가 강세입니다. Docker, Kubernetes, Terraform, Prometheus 등 클라우드 네이티브 도구 대부분이 Go로 작성되었습니다. 성능이 중요하면서 개발 생산성도 필요한 곳에 적합합니다. C/C++보다 쉽고, Python/Ruby보다 빠릅니다. 최근에는 웹 서버 개발에도 많이 사용됩니다.

Go 시작하기

go.dev에서 Go를 다운로드하여 설치합니다. go.mod 파일로 모듈을 관리합니다. go run main.go로 실행, go build로 컴파일합니다. Go는 학습 곡선이 완만합니다. 공식 튜토리얼 'A Tour of Go'가 훌륭합니다. 문법이 적어 일주일이면 기본을 익힐 수 있습니다. 클라우드/인프라 쪽 커리어를 생각한다면 Go는 필수 언어입니다.

댓글

0
첫 번째 댓글을 작성해보세요!
← 목록으로