본문 바로가기

Programming/[Go]

[Go] Golang 설치 및 환경설정

1. Go란?

- 구글에서 개발한 언어이코 컴파일 방식으로 매우 높은 성능을 낼 수 있다.

- 동적 타입의 인터프리트 언어처럼 느껴지는, 빠른 정적 타입의 컴파일 언어

- 배우기 용이하고 사용하기 간단하며 다른 개발자가 읽기 쉬운 언어를 목표로 설계

- C++와 같은 언어와 비교하면 기능이 그렇게 많지는 않다.

- 구문은 C와 비슷해서 C 경험이 풍부한 개발자라면 비교적 쉽게 배울 수 있다.

- 여러 기능, 특히 동시성과 함수형 프로그래밍 기능은 얼랭(Erlang)과 같은 언어를 연상시키기도 한다.

- 다양한 크로스 플랫폼 엔터프라이즈 애플리케이션을 빌드하고 유지하기 위한 C 유사 언어인만큼 자바와도 공통점이 많다.

- 어디서나 실행되는 코드를 신속하게 개발할 수 있게 해준다는 점은 파이썬과 비슷하다. (다만 파이썬의 경우 유사점보다는 차이점이 훨씬 더 많다.)

 

2. Go의 특징

- 편의성(Convenience): 고는 많은 일반적인 프로그래밍 요구를 충족할 수 있다는 면에서 파이썬과 같은 스크립팅 언어와 곧잘 비교된다. 고의 기능 중에서 예를 들어 동시성과 스레드형 동작을 위한 “고루틴(goroutine)”과 같은 일부 기능은 언어 자체에 내장됐으며 부가적인 기능은 예를 들어 고의 http 패키지와 같은 고 표준 라이브러리 패키지를 통해 사용할 수 있다. 고는 파이썬과 마찬가지로 가비지 수집을 포함한 자동 메모리 관리 기능을 제공한다.
파이썬과 같은 스크립팅 언어와 달리 고 코드는 실행 속도가 빠른 네이티브 바이너리로 컴파일된다. 또한 C나 C++와 달리 고의 컴파일 속도는 매우 빨라서, 고로 작업하다 보면 컴파일 언어가 아니라 스크립팅 언어를 사용하는 느낌이 들 정도다. 또한 고 빌드 시스템은 다른 컴파일 언어만큼 복잡하지 않다. 고 프로젝트는 많은 단계나 부수적 작업 없이 간단히 빌드하고 실행할 수 있다.

- 속도(Speed): 고 바이너리의 실행 속도는 C 바이너리에 비하면 느리지만 그 차이는 대부분의 애플리케이션에서 무시해도 될 수준이다. 대다수의 작업에서 고의 성능은 C와 대등하며, 빠른 개발 속도로 유명한 다른 언어(예를 들어 자바스크립트, 파이썬, 루비 등)보다 훨씬 더 빠르다.

- 이식성(Portability): 고 툴체인으로 생성된 실행 파일은 기본적인 외부 종속성 없이 독립적으로 실행이 가능하다. 고 툴체인은 다양한 운영체제 및 하드웨어 플랫폼에서 사용할 수 있으며 여러 플랫폼에 걸쳐 바이너리를 컴파일하는 데 사용할 수 있다.

- 상호운용성(Interoperability): 고는 앞서 설명한 모든 장점을 기반 시스템에 대한 액세스를 희생하지 않으면서 제공한다. 고 프로그램은 외부 C 라이브러리와 통신하거나 네이티브 시스템 호출을 수행할 수 있다. 예를 들어 도커에서 저수준 리눅스 함수, 컨트롤 그룹(cgroup), 네임스페이스와 교신해 컨테이너 기능을 구현한다. 

- 지원(Support): 고 툴체인은 리눅스, 맥OS, 윈도우 바이너리 또는 도커 컨테이너로 무료로 제공된다. 레드 햇 엔터프라이즈 리눅스 및 페도라와 같은 많은 인기있는 리눅스 배포판에 기본적으로 포함되므로 이런 플랫폼에 고 소스를 배포하기도 비교적 쉽다. 또한 마이크로소프트 비주얼 스튜디오 코드부터 액티브스테이트(ActiveState) 코모도 IDE에 이르기까지 다수의 서드파티 개발 환경에서도 고에 대한 지원이 탄탄하다.

 

3. Go 설치

- URL : https://go.dev/dl/

 

Downloads - The Go Programming Language

Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, follow the source installation instructions. See the release history for more information about Go releases

go.dev

자신의 OS에 맞게 다운로드

 

 

설치 완료 후 CMD 실행

go env

go env

위와 같이 표시되면 정상적으로 설치된 것

 

4. Go Workspace 설정

원하는 디렉토리에 워크스페이스 (Go를 사용할 프로젝트 디렉토리) 생성 후 bin, pkg, src 폴더 생성

 

bin 폴더 :  소스파일 컴파일 후 운영체제별 실행 가능한 바이너리 파일이 저장되는 곳

pkg 폴더 : 프로젝트에 필요한 패키지가 컴파일 되어 라이브러리 파일이 저장되는 곳

src 폴더 : 직접 작성한 소스 코드 및 오픈 소스 코드를 저장하는 곳

 

해당 프로젝트 폴더로 환경변수를 설정

 

다시 CMD를 실행하여 아래 명령어 실행

go env