제1장 소개
1.1 왜 Go인가요?
1.1.1 Go의 설계 목표는 무엇인가요?
1.1.2 어디서 Go를 활용할 수 있을까요?
1.1.3 Go 컴파일러와 런타임
1.1.4 동시성
제2장 빠르게 시작하기
2.1 Go 설치하기
2.1.1 시스템 패키지 매니저를 이용하여 설치하기
2.1.2 미리 컴파일된 바이너리 이용하기
2.1.3 소스코드로 Go 빌드하기
2.2 Go 기본 개념
2.2.1 일반적인 프로젝트 구조
2.2.2 Go의 시작 “Hello, World!”
2.2.3 변수
2.2.4 if 문 그리고 switch 문
2.2.5 반복문
2.2.6 함수
2.2.7 구조체
2.2.8 인터페이스
2.2.9 오류
제3장 Go 모듈
3.1 빌트인 패키지 사용하기
3.2 서드파티 패키지 사용하기
3.2.1 저 소수인가요? 1
3.3 직접 만든 패키지 빌드하기
3.3.1 저 소수인가요? 2
제4장 빌트인 패키지 사용하기
4.1 일반적인 데이터 구조와 알고리즘
4.2 다익스트라 길 찾기
4.3 콘웨이의 라이프 게임
4.4 작업 증명 1
제5장 동시성
5.1 동시성, 스레드, 그리고 병렬성
5.2 고루틴
5.3 채널
5.3.1 select 문
5.4 작업 증명 2
제6장 상호 호환성
6.1 상호 호환성이 중요한 이유는 무엇일까요?
6.2 C 코드와 상호 호환하기
6.3 Swift와 상호 호환하기
색인
* 주요 내용
제1장 소개
왜 Go라는 언어를 선택해야 하는지 알아보는 장입니다. Go의 설계 목표와 동작 플랫폼, Go의 메모리 관리 방식을 소개하고, Go를 사용해야 하는 가장 큰 이유인 동시성과 다른 장점을 설명합니다.
제2장 빠르게 시작하기
Go의 설치 방법과 프로젝트 구조, 필수 문법 등 앞으로 배우게 될 Go의 핵심 요소들을 배우기 전 준비하고 알아야 할 사항을 가볍게 살펴봅니다. 불필요할 정도로 자세히 설명하기보다는 다른 언어와 Go가 다른 부분들을 위주로 설명합니다.
제3장 Go 모듈
Go의 패키지 관리 시스템인 Go 모듈의 구성과 사용법을 알려주는 장입니다. 언어에 내장된 패키지와 서드파티 패키지를 사용하는 방법, 직접 패키지를 만드는 방법을 영화 정보 검색 프로그램, 소수 확인 프로그램 등의 재미있는 예제를 통해 배워봅니다.
제4장 빌트인 패키지 사용하기
내장된 패키지를 이용하여 Go의 다른 기능과 특징을 다익스트라 길 찾기 알고리즘과 콘웨이의 라이프 게임을 구현하며 배우게 됩니다. Go에서 GUI를 구현하는 방법, 나만의 함수를 만드는 방법 등을 알게 됩니다.
제5장 동시성
Go의 가장 중요한 특징인 동시성을 소개하는 장입니다. 기존의 스레드와 프로세스의 개념을 잡은 다음, Go에서 지원하는 기능인 고루틴과 채널을 이용하여 기존 프로그램을 얼마나 개선시킬 수 있는지 보여줍니다.
제6장 상호 호환성
이미 발명된 바퀴를 다시 만들 필요가 없듯, 프로그램도 마찬가지입니다. 6장에서는Go가 특화된 분야와 다른 언어를 사용하는 게 나은 분야를 알려주고, 각 언어의 장점을 살릴 수 있도록 Go와 다른 언어를 함께 사용하여 프로그램을 만들 수 있는 방법을 알려줍니다.