22쌍의 가이드 랩과 챌린지, 총 44개 실습으로 Go의 폭넓은 기초를 쌓습니다. 제공된 WebIDE에서 프로그램을 작성·실행하고 예제로 개념을 익힌 다음, 집중 과제로 스스로 적용할 수 있는지 확인합니다.
문법, module, package, data type에서 시작해 control flow와 collection으로 나아가고, 후반에는 struct, 유연한 함수 패턴, channel을 다룹니다. Beginner에서 시작하지만 여러 Intermediate 챌린지와 한 개의 Advanced channel pipeline 챌린지가 포함됩니다.
학습 내용
과정을 마치면 다음을 할 수 있습니다.
- 기본 Go 프로그램을 작성·실행하고 구조를 설명하며 일반적인
fmt함수를 사용합니다. - Go Modules와 package로 프로젝트를 구성하고 import를 관리하며 공개·비공개 함수를 구분합니다.
- 변수와 상수를 선언하고 연산자, 숫자, bool, string, byte, rune, Unicode,
iota를 사용합니다. if,switch,for,break,continue, 목적이 분명한goto로 분기와 반복을 표현합니다.- array, 다차원 array, slice, map 데이터를 생성, 순회, 수정, 복사, filter, sort합니다.
- struct를 정의·초기화하여 관련 값을 명확한 데이터 모델로 묶습니다.
- 다중 반환값과 가변 인자를 쓰는 함수를 만들고 익명 함수를 즉시 실행과 callback으로 사용합니다.
- type과 방향이 지정된 channel을 만들고 간단한 pipeline에서 producer와 consumer goroutine을 연결합니다.
추천 대상
각 주제 뒤에 실습하며 Go 언어를 폭넓게 배우려는 입문자를 위한 과정입니다. 다른 언어에서 넘어와 Go의 module, collection, function, channel 모델을 직접 연습하려는 프로그래머에게도 적합합니다.
선수 지식: Go 경험은 필요하지 않습니다. 명령 입력과 소스 파일 편집을 할 수 있어야 하며 변수, 조건, loop, 함수 같은 기본 프로그래밍 개념을 알면 수월합니다.
학습 환경: 44개 실습 모두 Go 도구가 제공된 Ubuntu 22.04 WebIDE에서 실행합니다. 주로 터미널과 편집기를 사용하며 각 가이드 주제 뒤에는 짧은 coding challenge가 이어집니다.
자주 묻는 질문
44개 실습은 어떻게 구성되나요?
22개 주제마다 Go 개념을 설명·시연하는 가이드 랩과 그 개념으로 작은 프로그램이나 함수를 구현하는 챌린지가 짝을 이룹니다.
모든 과제가 Beginner 수준인가요?
아닙니다. 가이드 랩은 Beginner이지만 여러 응용 챌린지는 Intermediate이고 producer-consumer channel pipeline은 Advanced입니다. 초반은 단계적이나 후반에는 더 독립적인 사고가 필요합니다.
Go concurrency를 얼마나 깊게 다루나요?
channel 선언, 초기화, 송수신, blocking, 방향과 간단한 goroutine pipeline을 소개합니다. production concurrency pattern, synchronization primitive, cancellation, distributed system은 다루지 않습니다.
Web service나 database application도 만드나요?
아닙니다. Go 언어와 작은 command-line program에 집중합니다. HTTP server, framework, database, testing package, production service architecture는 범위 밖입니다.





