Go - Introduction
Go란?
Go 언어란 Python과 같은 인터프리터 언어(스크립트 언어)가 아닌 컴파일 언어이다.
- 인터프리터 언어 : 원시코드(프로그래머가 작성한 소스코드)를 기계어로 변환하는
과정없이 한줄 한줄 해석해 바로 명령어를 실행하는 언어 - 컴파일 언어: 원시코드(프로그래머가 작성한 소스코드)를 모두 기계어로 변환한 후에
기계(JVM 같은 가상머신)에 넣고 기계어 코드를 실행하는 언어
Go 언어의 특징
- go는 컴파일언어이지만 컴파일러가 소스 코드를 해석하는 pass 수를 줄여서 인터프리터 언어처럼
빠르게 동작한다. - 언어의 문법이 간결하고 접근하기 쉬고 높은 성능을 낼 수 있다.
- 자료형 체계에서 정적 타입 검사가 이루어지기 때문에 Python 등에 익숙해져 있는 경우
생소할 수 있으나 풍부한 라이브러리를 통해 다양한 기능을 쉽게 구현 가능 - 고루틴이라는 비동기 매커니즘을 제공해 이벤트 처리 및 병렬 프로그래밍 작성에 용이하다.
- 고루틴은 OS에서 관리하는 경량 스레드보다 더 가볍기 때문에 CPU 코어갯수와 무관하게
수백, 수천만 고루틴을 작성해도 성능에 문제는 발생하지 않는다.
(비동기 처리 부분은 Erlang에서 영향을 받았기 때문이다.) - 파일 언어인 덕분에 속도가 느린 스크립트 언어에서 연산 퍼포먼스가 필요한 부분을 Go로
대체해 넣을 수 있다.
Go 개발환경 초기 세팅
아래의 블로그 링크를 참고해서 Go 개발환경 초기세팅을 맛볼 수 있다.
필자는 위 블로그를 참고해서 윈도우용 Go 개발환경을 구축하였다. 요약하자면 Go언어를 사용하고자 하는
경로에 bin, pkg, src디렉토리를 생성한 후, src디렉토리에 Go 파일을 생성하면 된다.
Go 언어 맛보기
아주 간단한 Go 언어를 아래와 같이 테스트 해볼 수 있다. 우선 go를 실행할 디렉토리를 구성해주고
작성후 F5 버튼을 눌러 Debug를 실행해주면 된다. 실행 결과는 OUTPUT 쪽에서 실행된다.
참고 자료
'프론트 엔드 > Go' 카테고리의 다른 글
[GO] 리눅스 버전 Go 설치하기 - 헬로우 월드 출력 (0) | 2023.01.09 |
---|---|
[Go] GO를 이용해 HTTP Server 만들기 (0) | 2022.03.03 |
[Go] Go 언어 프로그래밍 입문 - Go는 어떤언어 인가? (0) | 2022.02.25 |