Tour of Go!

Go 언어 문법을 탐험해 보세요.

소개

01

문서 소개

패키지

01

Go 언어의 패키지

02

Import 사용하기

03

이름 내보내기

함수

01

Go 언어의 함수

02

함수 파라미터의 타입 생략하기

03

여러 개의 반환값

04

반환값에 이름 붙이기

변수와 상수 그리고 타입

01

변수

02

변수 초기화하기

03

변수 단축 선언

04

Go 언어의 기본 타입

05

기본 초기값(제로값)

06

타입 변환

07

타입 추론

08

상수

09

숫자 상수

제어문

01

For 문

02

For 문에서 생략 가능한 문

03

Go 언어에서 for는 while이다

04

무한 루프

05

if 문

06

초기화문을 가진 if 문

07

if와 else

08

연습문제 - 제곱근 함수 구현하기

09

swift 문

10

switch 문의 평가 순서

11

조건문 없이 switch 사용하기

12

defer

13

defer와 함수 호출 스택

14

defer, panic, recover

다양한 타입들

01

포인터

02

구조체 (Struct)

03

구조체 필드

04

포인터를 통한 구조체 필드 접근

05

구조체 리터럴

06

배열

07

다차원 배열

08

슬라이스(slice)

09

배열을 참조하는 슬라이스

10

슬라이스 리터럴

11

슬라이스 범위 기본값

12

슬라이스 길이와 용량

13

Nil 슬라이스

14

make로 슬라이스 생성하기

15

중첩 슬라이스

16

슬라이스에 요소 추가하기

17

Range를 사용한 반복문

18

Range에서 인덱스와 값 생략하기

19

연습문제 - 슬라이스로 그레이스케일 이미지 만들기

20

Map

21

Map 리터럴

22

Map 리터럴과 값타입

23

Map 변경하기

24

연습문제 - WordCount 구현하기

25

함수 값

26

함수 클로저

27

연습문제 - 피보나치 수열

메서드

01

메서드 정의하기

02

메서드는 리시버를 가진 함수

03

타입 확장하기

04

포인터 리시버

05

포인터와 함수

06

메서드와 포인터 Indirection - 1

07

메서드와 포인터 Indirection - 2

08

값 또는 포인터 리시버 선택하기

인터페이스

01

인터페이스 타입

02

인터페이스는 암시적으로 구현된다

03

인터페이스 값

04

인터페이스 값과 nil 기본 값

05

Nil 인터페이스 값

06

빈 인터페이스 (Empty Interface)

07

타입 단언

08

타입 스위치

09

Stringers

10

연습문제 - IPAddr 타입에 fmt.Stringer 인터페이스 구현하기

11

Errors 인터페이스

12

연습문제 - 에러 처리하기

13

io.Reader 인터페이스

14

연습문제 - io.Reader

15

연습문제 - ROT13 Reader 구현하기

16

image 인터페이스

17

연습문제 - image

제네릭

01

타입 파라미터

02

제네릭 타입

동시성 프로그래밍

01

고루틴

02

채널: 값을 주고받는 통로

03

버퍼가 있는 채널

04

채널 닫기와 range 문

05

Select

06

Default Selection

07

연습문제 - 트리의 동치성 판별하기

08

sync.Mutex로 동시성 문제 해결하기

09

동시성을 활용한 웹 크롤러 만들기