Go란?
공식 홈페이지에선 아래와 같이 소개하고 있다.
The Go programming language is an open source project to make programmers more productive.
Go is expressive, concise, clean, and efficient.
Go 언어의 장점
- 읽고 이해하기 쉽다.
- 이식성이 뛰어나다.
- 절차형, 동시성, 분산프로그래밍을 지원한다.
-
가비지컬렉션을 지원한다.
-> 메모리 할당 및 해제를 직접 하지 않아도 된다.
-
전처리기를 사용하지 않으며, 컴파일 속도가 빠르다.
-> Go를 스크립트 언어처럼 사용할 수 있음
- 다양한 패키지를 제공한다.
-
기본적으로 정적 링크를 사용한다.
->생성된 바이너리를 다른 머신으로 쉽게 전송 할 수 있다.
- GUI가 없어도 개발,테스트,디버깅 가능하다.
- 유니코드를 지원한다.
-
직교성이 뛰어나다.
->언어의 관점에서 보면 서로 중복된 부분이 많은 기능을 제공하는 것 보다 적은 수의 기능을 다양하게 조합해서 쓰는게 훨씬 좋다.
Go 언어의 단점
-
OOP를 직접 지원하지 않는다.
-> 합성(composition)으로 상속을 흉내낼 수는 있다..
- 그래도 어떤언어보다 C가 가장 빠르다.
Go 언어의 두 가지 규칙
-
사용하지 않을 Go 패키지는 임포트 하지 말 것
사용하지 않을 패키지를 임포트해버리면 컴파일 에러가 난다.
단, import 목록에서 패키지 이름 앞에 _를 붙이면 컴파일 에러 안난다.
- 중괄호 작성 스타일을 따를 것
참고 사항
전처리기 : 개발자가 입력한 데이터를 처리해서 그 결과를 다른 프로그램의 입력으로 사용하는 프로그램.
godoc : msdn같은 거다. ( 실행 예 ) godoc fmt