Go 배우기 - 코딩 강좌
Go 배우기 - 코딩 강좌 — 휴대폰에서 컴파일러, race detector, 매일 제공되는 kata를 이용해 배우는 Golang 튜토리얼
Go 배우기 - 코딩 강좌는 초보자와 현업 개발자를 위한 무료 iOS 및 Android Golang tutorial이에요. 실제 Go toolchain에서 코드를 실행하는 Go compiler와 editor가 제공되며, 인터넷 연결이 필요해요. gofmt, go vet 및 race detector로 코드를 확인하고, 첫 fmt.Println부터 goroutines, REST APIs, gRPC까지 51개 코스를 학습할 수 있어요. 이해가 잘되지 않는 부분은 AI Mentor가 도와줘요.
- 가격
- 무료, Pro 업그레이드
- 플랫폼
- iOS 및 Android
- 언어
- 22
- 연령 등급
- 4+
- 필요 사항
- iOS 15.1 이상


go 키워드를 삭제하고 같은 작업에 세 배나 더 오래 걸리는 모습을 확인해 보세요.
앱에서 Go로 가장 먼저 하게 되는 일이 바로 이거예요. 각각 120 ms가 걸리는 작업 3개를 실행하고, 총 시간이 360 ms보다 훨씬 짧게 나오는 것을 확인한 다음, 동시 실행을 가능하게 만든 단 하나의 키워드를 삭제해 보세요. 언어의 핵심 장점을 이 한 단어로 설명할 수 있고, 앱에서는 설명을 듣기 전에 직접 체감할 수 있어요.
어떤 앱인가요
Go 배우기 - 코딩 강좌는 오늘날 클라우드와 서버 소프트웨어의 상당 부분을 뒷받침하는 컴파일 언어 Go를 학습하는 무료 iOS 및 Android 앱이에요. 초급부터 고급까지 단계별로 구성된 51개 코스와 203개 레슨, 실제 Go toolchain에서 프로그램을 실행하는 code editor, daily kata, 실제 race detector를 사용하는 Concurrency Lab, 그리고 직접 HTTP core를 만들어 보는 guided track이 제공돼요. AI Mentor는 어떤 레슨에 관한 질문에도 답해 줘요.
앱 내부 살펴보기
화면은 어떻게 보이나요





강좌
Go 코스에서 배우는 내용
앱 자체 코스 목록에 있는 51개 코스와 203개 레슨으로, A1부터 C1까지 단계가 나뉘며 첫 번째 프로그램부터 프로파일링과 가비지 컬렉터까지 다뤄요.
Go와 기초
Go가 무엇이며 Google이 Go를 만든 이유를 알아본 다음, 변수, 타입과 zero values, 상수, if, for, switch를 사용한 제어 흐름을 배워요.
함수, 슬라이스와 맵
여러 반환값, defer, 가변 인수를 사용하는 함수와 배열, 슬라이스, 맵을 배우고, 문자열, fmt 포맷팅, time 패키지도 다뤄요.
구조체, 포인터와 인터페이스
구조체와 메서드, 값 리시버와 포인터 리시버의 차이, 포인터, 암시적 인터페이스와 덕 타이핑, 컴포지션을 위한 임베딩을 배워요.
에러, 패키지와 표준 라이브러리
errors.Is와 errors.As를 사용한 명시적 에러 처리, 패키지와 모듈, 파일 I/O와 JSON, 정규 표현식, 정렬, 버퍼링된 I/O를 배워요.
고루틴, 채널과 Sync
고루틴과 채널의 기초, select와 채널 패턴, 뮤텍스와 sync 패키지, 취소를 위한 context, 워커 풀과 파이프라인을 배워요.
HTTP, REST와 데이터베이스
net/http를 사용한 HTTP 서버와 클라이언트, Gin을 사용한 REST API, 미들웨어 패턴, sqlx와 pgx를 사용한 database/sql, GORM, WebSockets를 다뤄요.
테스트, 도구와 배포
테이블 기반 테스트와 하위 테스트, Cobra를 사용한 커맨드 라인 앱, Viper를 사용한 구성, slog를 사용한 구조화된 로깅, 멀티 스테이지 Docker 빌드를 배워요.
고급 Go
타입 매개변수와 제약 조건을 사용하는 제네릭, 벤치마킹과 pprof 프로파일링, Protocol Buffers를 사용하는 gRPC, 리플렉션, 메모리 모델을 배워요.
어떻게 작동하나요
세션 진행 방식
각 레슨은 짧은 읽을거리와 직접 실행하는 코드로 이어져서, 개념과 실습을 한 번에 진행할 수 있어요.
짧은 레슨 하나 읽기
course를 열고 몇 분 분량의 레슨 하나를 학습해 보세요. 이해하기 쉬운 설명과 작은 예제가 함께 제공되며, 첫 레슨에서는 package main과 fmt.Println 프로그램을 예로 들어요.
실제 Go toolchain에서 실행하기
editor가 프로그램을 Go runner로 보내고 결과를 보여 줘요. gofmt, go vet, race detector도 같은 방식으로 실행되므로, 실행 버튼을 누를 때는 연결이 필요해요. 프로그램이 충돌하면 오류를 이해하기 쉬운 설명으로 보여 줘요.
다른 방식으로 연습하기
주제를 학습한 뒤 quiz를 풀고, daily kata를 해결하고, concurrency puzzle을 단계별로 풀어 보거나 AI Mentor에게 퀴즈를 내 달라고 요청해 보세요. 각각 같은 개념을 다른 방식으로 다루기 때문에, 배운 내용이 오래 기억에 남아요.
무엇이 들어 있나요
앱에 포함된 기능
51
A1부터 C1까지의 Courses
51개 course에 걸쳐 203개 lesson이 제공돼요. Go 기초, slices, maps부터 interfaces, error handling, goroutines, net/http, Gin, database access, Docker deployment, gRPC, garbage collector까지 학습할 수 있어요.
-race
race detector가 포함된 Concurrency Lab
실행 가능한 6개의 puzzle에서 하나의 channel을 사용하는 두 goroutines, unbuffered handshake, WaitGroup fan-out, 업데이트가 유실되는 counter, 두 writers가 사용하는 map, deadlock을 다뤄요. 또한 자신의 코드를 race detector로 실행할 수도 있으며, 무료로 이용할 수 있고 daily limit도 없어요.
Daily
매일 새로운 kata
숨겨진 항목을 포함한 cases 표를 기준으로 확인하는 Go exercise이며, 이후 reference explanation이 제공돼요. daily kata는 누구나 무료로 이용할 수 있고, Pro에서는 전체 library, reference solutions, explanations가 열려요.
Doctor
Go Doctor
gofmt가 파일을 다시 작성할지 확인하고 적용할 수 있으며, go vet을 실행해 findings를 확인할 수 있어요. Pro에서는 compiler의 escape analysis에 값이 할당되는 이유를 물어볼 수도 있어요. formatting은 무제한이고, 무료 plan에서는 go vet을 하루에 3번까지 실행할 수 있어요.
7단계
직접 HTTP core 만들기
request, response, 함수로 작성하는 handlers, routing, path parameters, middleware, JSON과 wrapped errors를 직접 작성하는 guided track이에요. 각 단계는 하나씩 확인하면서 진행해요.
AI
AI Mentor와 mock interview
AI Mentor에게 개념 설명, 학습 roadmap, quiz를 요청해 보세요. mock interview에서는 junior, mid, senior 레벨 중 하나로 Go 질문 5개를 내고 답변을 평가해요. 채점되는 interview는 일주일에 1회 무료로 제공돼요.
Recall
Go Recall과 Go by Example
defer 순서, nil maps, append로 인한 memory 공유처럼 자주 헷갈리는 내용에 관한 짧은 “무엇이 출력될까요?” 카드와, 직접 실행하고 수정할 수 있는 실행 가능한 standard-library snippets를 제공해요.
배경
백엔드 개발에 Go를 배워야 하는 이유와 Go만의 차별점은 무엇인가요?
Go는 Google에서 만든 정적 타입 컴파일 언어로, web services, command-line tools, cloud infrastructure에 널리 사용돼요. 백엔드 개발에 적합한 이유는 많은 기능이 기본으로 제공되기 때문이에요. concurrency가 언어에 포함되어 있고, standard library가 소규모 서비스에 필요한 대부분의 기능을 제공하며, 프로그램이 별도로 설치할 것 없이 단일 binary로 컴파일돼요. 언어 자체가 의도적으로 작게 설계되어 읽기는 빠르지만, 초보자는 익숙하지 않은 몇 가지 사용 방식을 초기에 배워야 해요.
Goroutines와 channels관리해야 할 threads 없이 사용하는 concurrency
goroutine은 go 키워드로 시작하는 함수이고, channel은 goroutines가 값을 전달할 때 사용하는 파이프예요. 둘을 함께 사용하면 직접 작성하는 thread 처리 코드 대부분을 대신할 수 있기 때문에, concurrency를 고급 주제로 미루지 않고 초반부터 배워요.
Errors는 값이에요예외가 없어요
실패할 수 있는 Go 함수는 error를 일반적인 두 번째 값으로 반환하고, 호출한 쪽에서 바로 확인해요. try block보다 작성할 내용은 많지만, 읽고 있는 코드에서 모든 실패 경로를 확인할 수 있다는 장점이 있어요.
Implicit interfaces컴파일 시 확인되는 duck typing
type은 올바른 methods만 갖추면 interface를 만족하며, 별도로 선언할 필요가 없어요. 덕분에 packages 간 결합도를 낮게 유지할 수 있어요. 또한 Go에서 자주 마주치는 의외의 동작도 여기서 나와요. nil pointer를 담은 interface 자체는 nil이 아니에요.
하나의 binary와 방대한 standard library배포가 간단한 이유
컴파일된 Go는 하나의 executable을 생성하고, net/http, encoding/json, database/sql 같은 packages가 언어에 함께 제공돼요. 소규모 서비스는 third-party framework가 필요하지 않은 경우가 많아서, Go 프로그램의 Docker images를 작게 만들 수 있어요.
나에게 잘 맞는지
누구에게 적합하고, 누구에게는 적합하지 않은지
다음과 같은 분께 잘 맞아요
- 휴대폰으로 짧게 나눠 학습할 수 있는 Golang 코스를 찾고 있어요
- 이미 다른 언어를 작성할 수 있고 고루틴과 채널이 실제로 실행되는 모습을 보고 싶어요
- 백엔드 또는 클라우드 직무를 목표로 하며 점수와 피드백이 제공되는 Go 면접 질문을 원해요
- 긴 동영상보다 짧은 연습 문제와 실수하기 쉬운 부분을 다룬 카드로 더 잘 배워요
- 직접 작성한 코드의 포맷팅, vet 결과, 데이터 레이스를 확인하고 싶어요
다음과 같은 경우에는 적합하지 않아요
- Go 1.13 샌드박스인 앱 내 러너에서 net/http를 import하거나 제네릭을 사용하는 프로그램을 실행해야 해요
- 러너가 온라인이기 때문에 연결 없이 코드를 실행하고 싶어요
- 모든 기능이 무료이기를 기대해요. 첫 번째 코스, 일일 kata, 일일 AI Mentor 이용량은 무료이고 나머지는 Pro에서 잠금 해제돼요.
- 대규모 멀티 패키지 서비스를 구축하고 배포해야 하므로 여전히 노트북과 전체 툴체인이 필요해요
질문
자주 묻는 질문
휴대폰으로 Golang을 배우는 가장 좋은 방법은 무엇인가요?
직접 실행해 보는 짧은 레슨이 혼자 읽는 것보다 효과적이고, Go는 고루틴과 race detector처럼 동작 방식에 기반한 핵심 기능이 있기 때문에 실행해 보며 배우는 것이 중요해요. Go 배우기 - 코딩 강좌는 몇 분 분량의 레슨에 에디터, 일일 kata, Concurrency Lab을 결합해요. iOS와 Android에서 무료로 시작할 수 있으며, 초급부터 고급까지 순서대로 구성된 51개 코스를 제공해요.
휴대폰에서 Go 코드를 컴파일하고 실행할 수 있나요?
네, 연결 상태라면 가능해요. Go 배우기 - 코딩 강좌는 프로그램을 Go 러너로 보내 출력을 보여 주며, 같은 러너에서 gofmt, go vet, race detector도 제공해요. 코드는 휴대폰 자체에서 실행되지 않으므로 실행 버튼을 누를 때 온라인 상태여야 하고, 작은 메모리 할당량과 최대 바이너리 크기 같은 러너 제한이 있어요.
앱 내 러너는 제네릭을 지원하나요?
현재는 지원하지 않아요. Go 배우기 - 코딩 강좌의 러너는 Go 1.13이고, 제네릭은 Go 1.18에서 추가됐기 때문에 타입 매개변수나 any 키워드를 사용하는 프로그램은 여기서 컴파일되지 않아요. 이런 경우 앱에서 일반적인 언어로 그 사실을 알려 주고 이전 형식을 안내해요. 제네릭 코스 자체는 레슨으로 계속 읽을 수 있어요.
Go race detector란 무엇이며 앱에서는 어떻게 사용하나요?
race detector는 두 고루틴이 서로 간에 잠금 없이 같은 메모리에 접근할 때 이를 알려 줘요. 이런 버그는 항상 발생하지 않고 때때로만 나타나요. Go 배우기 - 코딩 강좌의 Concurrency Lab에서는 race detector를 사용해 200개의 고루틴이 업데이트하는 카운터 같은 퍼즐을 실행하고, 뮤텍스를 추가한 뒤 다시 실행해 볼 수 있어요. 직접 고루틴 코드를 붙여 넣고 race detector로 실행할 수도 있어요.
Go kata란 무엇인가요?
kata는 코드로 해결하는 작고 집중적인 연습 문제예요. 예를 들어 ASCII가 아닌 텍스트에서 문자열을 올바르게 뒤집거나, errors.Is가 여전히 에러를 찾을 수 있도록 에러를 래핑하는 문제 등이 있어요. Go 배우기 - 코딩 강좌는 매일 새로운 kata를 제공하고, 숨겨진 케이스를 포함한 테스트 케이스 표로 함수를 확인한 다음 해당 관용적 작성법을 설명해요. 일일 kata는 누구나 무료로 이용할 수 있어요.
시작하려면 프로그래밍 경험이 필요한가요?
아니요. Go 배우기 - 코딩 강좌는 Go가 무엇이고 왜 만들어졌는지부터 시작해 변수, 타입, 제어 흐름으로 이어지며, 모든 개념을 연습하기 전에 쉬운 언어로 설명해요. 다른 언어를 사용해 본 경험이 있으면 초반 코스를 더 빠르게 진행하는 데 도움이 되지만, 첫 번째 코스는 아무런 경험이 없는 사람을 위해 작성됐어요.
Learn Go는 무료인가요?
앱은 무료로 다운로드할 수 있어요. 첫 번째 코스와 일일 kata, 일일 AI Mentor 이용량, 무제한 gofmt 검사, race detector를 사용한 무제한 실행, 하루 몇 회의 go vet 실행이 무료로 제공돼요. Pro에서는 모든 코스를 잠금 해제하고 광고를 제거하며, 무제한 AI Mentor를 이용하고 kata 라이브러리와 escape analysis를 사용할 수 있어요.
마지막에 수료증이 있나요?
네. 최종 시험에 합격하면 코스 수료증을 받을 수 있어요. 수료증에는 여러분이 수행한 학습 내용이 표시되며, 면접에서 설명할 수 있는 작은 프로젝트와 함께 제시하기 좋아요. 다만 공인 학술 자격은 아니에요.
Learn Go가 Golang 면접 준비에 도움이 되나요?
네, 도움이 돼요. 모의 면접에서는 슬라이스와 배열의 차이부터 런타임에 인터페이스 값이 담는 내용까지, 주니어·미드·시니어 레벨의 질문 5개를 내고 답변을 점수로 평가하며 피드백을 제공해요. Go Recall 카드로 자주 틀리는 핵심 내용을 반복 학습할 수 있고, 면접에서 취약했던 주제는 recall 덱에 추가돼요. 점수가 제공되는 면접은 일주일에 한 번 무료예요.
어떤 플랫폼과 언어를 지원하나요?
Go 배우기 - 코딩 강좌는 App Store를 통해 iOS에서, Google Play를 통해 Android에서 이용할 수 있으며, 인터페이스는 22개 언어로 제공돼요. 4+ 등급으로, 자료에는 연령 제한이 있는 내용이 없어요.
CoddyKit의 다른 앱
iOS 및 Android에서 이용할 수 있어요.