초보자를 위한 Golang

본 과정은 실습 및 과제를 통해 Go 프로그래밍을 마스터할 수 있도록 안내합니다. 첫 프로그램 작성, 패키지 관리, 데이터 타입 사용, 제어 흐름, 그리고 슬라이스 (slices), 맵 (maps), 채널 (channels), 익명 함수와 같은 Go 고유의 기능 등 핵심 개념을 학습하여 실제 프로그래밍 작업을 수행할 수 있는 강력한 기반을 구축하게 됩니다.

Golang

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

강의 계획

Go 프로그래밍 입문 가이드

나만의 Go 환영 메시지 만들기

GOPATH 와 모듈

모듈형 Go 프로젝트 구축

Go 패키지 생성 및 import 방법

수학 유틸리티 패키지 구축하기

Go 변수 소개

도서 재고 변수 설계하기

Golang 연산자를 활용한 데이터 처리

상품 할인 가격 계산하기

Golang 숫자형 타입: 정수, 실수, 불리언, 복소수 완벽 가이드

숫자 타입 변환 및 계산

Go 언어의 문자 타입

유니코드 이모지 디코딩

Go 문자열 기본

사용자 등록 문자열 처리

Go 상수 기초

서버 크기 상수 정의하기

Golang 의 If 분기문

조건부 로직을 활용한 작업 분류

Golang 의 Switch-Case 분기문

날씨별 의상 추천 Switch 문 구현하기

Go 언어의 for 반복문

Go 반복문을 이용한 문자열 뒤집기

Go goto 문 사용법

Goto 문을 활용한 중첩 루프 복잡도 해결

Golang 배열 연산: 초기화, 순회, 접근

직원 이름 배열 초기화하기

Golang 다차원 배열

학생 성적 관리 시스템 설계

Golang 슬라이스 데이터 구조

슬라이스 로그 필터 챌린지

Go 딕셔너리 기본

Go 맵을 활용한 학생 성적 관리

Go 딕셔너리 정렬하기

학생 성적 동적 정렬하기

Golang 의 채널 기본 요소

간단한 채널 데이터 파이프라인 구축하기

Golang 구조체 (Structures) 완전 정복

Go 언어를 활용한 학생 구조체 설계

Golang 함수 사용법

유연한 수학 함수 설계

Golang 익명 함수 사용법

유연한 수학적 변환 설계

소개

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는 범위 밖입니다.

강사

labby
Labby
Labby is the LabEx teacher.