개요
구글에서 개발한 프로그래밍 언어. C와 많은 부분이 닮아 있으며 심지어 포인터까지 지원한다(단 포인터 연산은 할 수 없다). Go 언어를 만든 세 사람, 로버트 그리즈머, 롭 파이크, 켄 톰슨 중 켄 톰슨이 C 언어의 전신인 B 언어를 개발했으니 어쩌면 당연할 수도. 구글에서 개발했지만 드러내놓고 밀어주지는 않는다. 지나치게 구글의 언어로 틀이 박히면 오히려 사용자 확장에 걸림돌이 된다고 생각하는 듯. 내부에서는 상당수의 프로젝트가 Go 언어로 개발되고 있다고 한다. 대표적인 예가 구글 다운로드 서버.[1]
자바나 파이썬과는 달리 클래스가 없다. 구조체를 만들고 구조체의 포인터를 넘겨 받는 함수를 구현해서 클래스와 비슷한 효과를 낼 수 있다. 클래스가 없으니 클래스 상속은 불가능하지만 인터페이스 상속은 할 수 있다.
자바와는 달리 컴파일 하면 단독으로 실행되는 파일을 만든다. 물론 컴파일러에 따라서는 바이트 코드를 만드는 것도 가능하다. 1.4부터는 mobile 패키지가 들어가서 안드로이드 앱 개발에도 쓸 수 있게 되었다.