검색
색인
고 프로그래밍 언어, Go programming language
동의어 : 고랭(Golang), 고 언어

멀티코어 지원, 프로그램 생산성 향상을 목적으로 구글(Google)에서 개발한 범용 프로그래밍 언어
정적 타입 언어(static type language)로 설계하여 실행시간 효율성을 높이고, 시스템 및 메모리 최적화, 프로세스 병행 처리 등을 제공하여 효율성이 좋고, 초보자도 배우기 쉽도록 프로그래밍 문법을 단순하게 하였다. 공개 소스이다.

2007년 9월 21일에 로버트 그리즈머(Robert Griesemer), 롭 파이크(Rob Pike), 켄 톰슨(Ken Thompson)이 분산 운영체제와 관련 작업을 하다가 C++언어의 복잡성을 해결하기 위해 고안하였다.
Go 언어는 컴파일 언어이지만 문법 구조 개선으로 인터프리터 언어와 같은 컴파일 속도를 지원한다. 단순함과 실용성을 지향하여 필수 키워드가 25개밖에 되지 않고 문법이 간결해 상대적으로 접근하기 쉽다. 또한 라이브러리가 풍부하여 다양한 기능을 빠르게 구현할 수 있다. 또한 비동기 방식의 고루틴(goroutine)이 제공되어 프로그램들이 서로 상태 공유와 같은 기능을 수월하게 병행 처리할 수 있게 되었다. 고루틴은 복수 스레드를 동시에 처리하는 멀티스레드 메커니즘이지만 자체적인 스케줄러에 의해 관리되는 경량 스레드로 운영체제(OS)의 경량 스레드보다 더 경량이다. 따라서 CPU 코어 수와 무관하게 수백, 수천만 고루틴을 만들어도 성능에 문제가 생기지 않는다.
구글(Google), 넷플리스(Netflix), 사운드클라우드(SoundCloud), 스페이스엑스(SpaceX), 이더리움 등 여러 분야에서 활발하게 Go 언어가 활용된다.
2009년 11월에 처음으로 공개된 이후 Go 1.0이 2012년 3월에 출시되었고, 2016년 2월 HTTP/2 및 템플릿 문법의 개선 기능이 지원되는 1.6 버전이 출시되었다. 가장 최근에 공개된 Go 버전은 2018년 8월에 공개된 1.11 버전이다.
Go 언어 사용자들을 고퍼(Gopher)라고 부르며, 고퍼들을 위한 연례행사인 고퍼콘(Gophercon)이 세계 각국에서 매년 열린다.

다음은 'Hello World!' 출력 예시이다.

package main
import "fmt"
func main() {
fmt.Println("Hello World!") }