Go

sprinkler dev·2021년 8월 11일
0

Go의 특징

간결한 문법

Class를 배제하여 복잡한 객체지향적 개념을 줄였으며 루프문은 for문 하나뿐이다.
단 25개 키워드만 사용하고 파이썬처럼 슬라이스 타입도 사용할 수 있다.

break, default, func, interface, select, case, defer, go, map,
struct, chan, else, goto, package, switch, const, fallthrough,
if, range, type, continue, for, import, return, var

손쉬운 패키지 관리

자바의 Maven, 자바스크립트의 NPM, 그 외 여러 언어와는 달리 패키지를 레지스트리에 등록하지 않고 깃에 코드를 올리기만 해도 프로그램에 포함하여 사용할 수 있다.

별도의 패키지 매니저를 사용하지 않고 go get 명령어만으로 패키지를 다운로드 받을 수 있다.

$ go get github.com/golang/protobuf

고루틴(코루틴)을 사용한 동시성 제어

고루틴은 OS 스레드보다 가벼운 경량 스레드다. 함수를 호출할 때 go 키워드를 붙이기만 하면 해당 함수를 고루틴으로 동작시킬 수 있다.
고루틴은 OS 스레드와 N:M 매핑되어 OS에서 조율하여 병렬실행을 처리해준다.

가비지 컬렉션과 제네릭 타입

가비지 컬렉션 지원으로 메모리 관리 편의성 추구
제네릭 타입은 추후 지원 예정

정적 언어

컴파일 타임에 타입이 결정되는 정적 언어다. 그러나 동적 언어처럼 타입을 직접 명시하지 않아도 된다. (자동추론)

profile
2년차 백엔드 개발자

0개의 댓글