AI와 개발을 쉽게 이해하는 실험실

비개발자도 따라오는 AI 도구, 자동화, 개발 실험 기록

개발 & 기술/기타 언어

Go 5분 입문 — 왜 백엔드는 자꾸 Go로 가나

루민 Lumin 2026. 6. 26. 20:50
반응형

"Go 입문" 글이 검색에 부쩍 늘었습니다. 토스, 카카오, 당근 같은 한국 IT 회사들도 일부 서비스를 Go로 옮겼다는 이야기가 들리고요.

저도 처음엔 "Python이나 자바스크립트로 다 되는데 왜 또 새 언어?" 싶었습니다. 그런데 직접 써보니 이유가 보이더군요.

이 글은 코드를 한 줄도 안 써본 분도 따라올 수 있게 썼습니다. 용어가 나올 때마다 풀어 설명하고, 마지막엔 브라우저에서 바로 실행해보는 방법까지 안내합니다.

Go가 뭐길래

Go는 구글이 2009년에 공개한 프로그래밍 언어입니다. 별명은 Golang(고랭). 검색할 때 "Go"는 일반 단어라 잘 안 걸려서 다들 "Golang"으로 검색합니다.

만든 이유는 단순합니다. 구글 내부에서 서버 프로그램을 만들 때 C++은 너무 복잡하고, Python은 너무 느리고, Java는 너무 무겁다는 불만이 컸거든요. 그래서 "빠르면서 쉬운 언어"를 직접 만들기로 한 겁니다.

특징을 표로 정리하면 이렇습니다.

항목 설명
개발사 구글 (2009년 공개)
주 용도 서버·백엔드, 클라우드 도구, 네트워크 프로그램
속도 C/C++에 가까움 (Python보다 수십 배 빠를 때도)
문법 단순함 — 배울 게 적음
대표 사용처 Docker, Kubernetes, 우버, 트위치, 당근 일부
💡 백엔드란 사용자 눈에 안 보이는 서버 쪽 프로그램입니다. 인스타그램에서 사진을 올리면 어딘가에 저장되고, 친구에게 알림이 가잖아요. 그 보이지 않는 처리를 담당하는 게 백엔드입니다.

왜 백엔드가 자꾸 Go로 옮겨가나

Go의 가장 큰 무기는 "빠르면서도 코드가 안 더럽다" 는 점입니다. 보통 빠른 언어는 어렵고 쉬운 언어는 느리다는 트레이드오프가 있는데, Go는 그 사이를 잘 비집고 들어왔습니다.

구체적으로 백엔드 개발자들이 매력을 느끼는 지점은 셋입니다.

1. 동시 처리가 쉽습니다

서버 프로그램은 동시에 수천 명을 상대해야 합니다. 카카오톡 서버를 떠올리면 됩니다 — 같은 순간에 수백만 명이 메시지를 보내잖아요. 이걸 잘 처리하려면 "여러 작업을 동시에 굴리는 기술"이 필요합니다.

Go는 이걸 go 한 글자로 해결합니다. 다른 언어에선 며칠 걸려 짜야 할 코드가 Go에선 한 줄입니다. 비유하자면 다른 언어는 직접 운전대를 잡고 차선 변경까지 다 해야 하는데, Go는 자동차에 자율주행 버튼이 달린 셈입니다.

2. 빌드 결과가 파일 하나입니다

Python이나 Java로 만든 프로그램은 배포할 때 "이 라이브러리도 깔아야 돼요, 저 버전이어야 돼요" 하면서 환경 맞추느라 고생합니다. Go는 컴파일하면 실행 파일 하나가 툭 나옵니다. 그 파일만 서버에 올리면 끝.

DevOps(개발과 운영을 합친 분야)를 아는 분이라면 이게 얼마나 큰 장점인지 바로 이해될 겁니다.

3. 문법이 작습니다

새 언어 배울 때 제일 부담스러운 게 "외울 게 너무 많다"는 점이잖아요. Go는 의도적으로 기능을 줄였습니다. 키워드(예약어)가 25개 정도밖에 없어요. 영어 단어 25개만 외우면 큰 줄기는 다 본 셈입니다.

다른 언어와 비교하면

이미 쓰는 언어가 있는데 Go로 옮길 이유가 있을지 궁금하실 겁니다. 한 줄로 정리하면 이렇습니다.

언어 강점 Go 대비 약점
Python 배우기 쉽고 AI·데이터 강함 서버 성능이 Go의 1/10 수준일 때도
Java 대형 시스템에 검증됨 코드가 길고 메모리를 많이 씀
Node.js 프론트와 같은 언어(JS) 사용 동시 처리에서 Go에 밀림
Rust Go보다도 빠르고 안전 학습 난이도가 훨씬 높음

대략적인 결론은 이렇습니다.

  • API 서버·마이크로서비스 → Go가 점점 우세
  • AI·데이터 분석 → 여전히 Python
  • 웹 프론트엔드 → Node.js / TypeScript
  • 극한의 성능·안전성 → Rust (단, 어려움)
⚠️ 위 비교는 일반적 경향이고 회사·팀마다 다릅니다. "어떤 언어가 무조건 좋다"는 식의 절대 비교는 아닙니다.

Go 코드는 어떻게 생겼나

백문이 불여일견. 가장 기본 코드를 보겠습니다.

package main

import "fmt"

func main() {
    fmt.Println("안녕, Go!")
}

한 줄씩 풀이하면 이렇습니다.

package main      → "이 파일은 시작점이야" 선언
import "fmt"      → "글자 출력 도구를 가져올게"
func main()       → "프로그램이 시작되면 여기부터 실행"
fmt.Println(...)  → "괄호 안 글자를 화면에 찍어줘"

func는 function(함수)의 줄임말입니다. 함수란 "작업 한 묶음에 이름을 붙여둔 것" 이라고 생각하면 됩니다. 요리 레시피에 "양파볶기"라고 이름 붙여두면, 다음엔 그냥 "양파볶기 해" 한마디면 끝나잖아요. 그것과 똑같습니다.

이 6줄짜리 프로그램을 실행하면 화면에 안녕, Go!가 뜹니다. 별거 없죠.

5분 만에 직접 돌려보기

설치 없이 브라우저에서 바로 해볼 수 있습니다. Go Playground (공식 사이트, play.golang.org)라는 곳을 쓰면 됩니다.

순서는 아주 간단합니다.

  • [ ] play.golang.org 접속
  • [ ] 화면에 이미 코드가 들어 있음 — 그대로 둬도 됨
  • [ ] 위쪽 파란 Run 버튼 클릭
  • [ ] 아래쪽에 결과(Hello, 世界) 확인

여기서 "Hello, 世界" 부분을 "안녕하세요, 제 이름은 ○○입니다"로 바꾸고 다시 Run을 눌러보세요. 그게 여러분의 첫 Go 코딩입니다.

Go Playground 동작 흐름

[브라우저에 코드 입력]
        ↓
   [Run 버튼 클릭]
        ↓
[구글 서버에서 컴파일·실행]
        ↓
   [결과만 돌려받음]

이 방식의 장점은 컴퓨터에 아무것도 깔지 않아도 된다는 점입니다. 좀 더 진지하게 공부하고 싶다면 그때 공식 사이트(go.dev)에서 설치 파일을 받으면 됩니다. 윈도우·맥 모두 5분이면 깔립니다.

입문자가 흔히 막히는 부분

직접 시작해본 사람들이 자주 헷갈리는 지점을 모았습니다.

"Go랑 Golang이랑 뭐가 달라요?" 같은 언어입니다. 검색용 별명이 Golang일 뿐. "Go 입문"으로 검색하면 보드게임이 나오니까 다들 "Golang 입문"으로 검색합니다.

"세미콜론 안 써도 돼요?" 네. 줄바꿈으로 자동 구분됩니다. Python 써본 분이라면 익숙하실 거예요.

"중괄호 위치가 이상해요" Go는 여는 중괄호 {를 무조건 같은 줄에 써야 합니다. 다음 줄로 내리면 에러. 처음엔 어색한데, 팀 전체가 똑같이 쓰게 만든 의도적 설계입니다.

"왜 안 쓰는 변수에서 에러가 나죠?" Go는 선언만 해놓고 안 쓰는 변수가 있으면 컴파일 자체를 거부합니다. 처음엔 짜증나는데, 코드가 깔끔해지는 효과가 있습니다 (저도 처음엔 욕하다가 적응했습니다).

어디까지 공부하면 입문 졸업인가

입문 단계는 보통 2~3주, 하루 1시간씩 잡으면 충분합니다. 추천 학습 순서는 이렇습니다.

단계 학습 내용 예상 기간
1주차 변수, 조건문, 반복문, 함수 5~7시간
2주차 구조체, 슬라이스, 맵 5~7시간
3주차 고루틴(동시 처리), 간단한 웹 서버 7~10시간

자료는 공식 튜토리얼 A Tour of Go (go.dev/tour, 무료)가 가장 간결합니다. 한국어 번역도 있고요. 책으로는 "Go 프로그래밍 언어" 같은 입문서가 꾸준히 추천됩니다.

3주차쯤 가서 간단한 웹 서버 한 개를 직접 만들어 보면 입문 졸업입니다. "내 컴퓨터에 띄운 주소로 접속하니 글자가 뜨네?" 그 경험이 묘하게 중독성 있습니다.

마무리

Go는 "빠르면서 단순한 백엔드 언어"라는 자리를 비교적 잘 잡았습니다. 채용 시장에서 점점 비중이 커지는 것도 그래서고요.

다만 만능은 아닙니다. AI를 만들고 싶다면 여전히 Python이 정답이고, 단순한 웹사이트는 Node.js로도 충분합니다. "동시에 많은 요청을 처리하는 서버를 깔끔하게 만들고 싶다" — 이 문장에 끌리면 그때가 Go를 진지하게 볼 시점입니다.

오늘은 일단 Go Playground 한 번만 켜보시는 걸 권합니다. 코드 한 줄 바꿔서 Run 버튼 눌러보는 그 5분이, 의외로 다음 한 달의 학습 의지를 만들거든요.

반응형