서버를 여러 대로 늘리고 트래픽을 견뎌야 하는 시대에, 구글은 "빠르고 단순하면서 동시성에 강한" 언어를 원했습니다. 그렇게 태어난 것이 Go(고)입니다. 도커, 쿠버네티스 같은 핵심 인프라 도구들이 Go로 만들어졌다는 사실만으로도 그 위상을 알 수 있습니다.
무엇이 매력인가
Go는 문법이 의도적으로 작고 단순합니다. 배울 게 적어서 며칠이면 기본기를 익힐 수 있고, 컴파일이 빠르며, 결과물이 의존성 없는 단일 실행 파일로 나와 배포가 편합니다.동시성이 쉽다
package main
import "fmt"
func main() {
// 고루틴: 가볍게 동시 작업을 띄운다
go fmt.Println("백그라운드에서 실행")
fmt.Println("메인에서 실행")
}go 한 단어로 동시 작업(고루틴)을 띄울 수 있습니다. 수천 개를 띄워도 가벼워서, 대량 요청을 처리하는 서버에 특히 잘 맞습니다.
입문자를 위한 팁
- "이렇게 하는 게 Go답다"는 관례가 뚜렷합니다. gofmt로 코드 스타일을 자동 통일하세요.
- 에러를 값으로 다루는 방식(if err != nil)이 처음에는 번거롭지만, 오히려 명시적이라 안전합니다.
- 클라우드, 백엔드, DevOps 분야로 가고 싶다면 투자 대비 효율이 아주 좋은 언어입니다.
화려한 기능은 없지만, 그 "없음"이 곧 강점인 흔치 않은 언어입니다.