A Tour of Goのリンク集

# 1. はじめに

## 1.1 背景と目的
### 1.1.1 背景

- [A Tour of Go](https://go-tour-jp.appspot.com/list)で調べ事をしたいとき、自分の知りたいことがどこに書かれているかをすぐに見つけられない。

### 1.1.2 目的
- Go言語の勉強、理解を効率化させるために本記事を作成した。

## 1.2 本記事でやっていること
- A Tour of Goのコンテンツをピックアップし、リンクを貼っている。

## 1.3 読者の対象
- あくまでも自分自身
- 他に、A Tour of Goを用いたGo言語の学習をしている方にも役立つかもしれません。

## 1.4 前提
- 自分自身が気になったページ、よく参照するページのみ、リンクを貼っています。A Tour of Goで紹介しているすべてのページに対応しているわけではありません。
- そのため、随時修正、変更が入ります。

## 1.5 参照リンク
- [A Tour of Go](https://go-tour-jp.appspot.com/list)

# 2. 本編

## 2.1 基本

### 2.1.1 Goプログラムの基本的なコンポーネントについて

#### 2.1.1.1 Packageについて

- https://go-tour-jp.appspot.com/basics/1
- https://go-tour-jp.appspot.com/basics/2
- https://go-tour-jp.appspot.com/basics/3
  - 大文字表記で始まる名前は、外部のパッケージから参照できる

#### 2.1.1.2 関数について

- https://go-tour-jp.appspot.com/basics/4
  - 関数の表記：基本形
- https://go-tour-jp.appspot.com/basics/5
  - 関数の表記：発展形①
- https://go-tour-jp.appspot.com/basics/6
  - 関数の表記：発展形②
- https://go-tour-jp.appspot.com/basics/7
  - 関数の表記：発展形③

#### 2.1.1.3 変数について
- https://go-tour-jp.appspot.com/basics/8
- https://go-tour-jp.appspot.com/basics/9
- https://go-tour-jp.appspot.com/basics/10

#### 2.1.1.4 型について
- https://go-tour-jp.appspot.com/basics/11
- https://go-tour-jp.appspot.com/basics/12
- https://go-tour-jp.appspot.com/basics/13
- https://go-tour-jp.appspot.com/basics/14

#### 2.1.1.5 定数について
- https://go-tour-jp.appspot.com/basics/15
- https://go-tour-jp.appspot.com/basics/16

#### 2.1.1.6 この章を終わります。
- https://go-tour-jp.appspot.com/basics/17

### 2.1.2 コードの流れをコントロールする技術について

#### 2.1.2.1 For文について
- https://go-tour-jp.appspot.com/flowcontrol/1
- https://go-tour-jp.appspot.com/flowcontrol/2
- https://go-tour-jp.appspot.com/flowcontrol/3
- https://go-tour-jp.appspot.com/flowcontrol/4

#### 2.1.2.2 If文について
- https://go-tour-jp.appspot.com/flowcontrol/5
- https://go-tour-jp.appspot.com/flowcontrol/6
- https://go-tour-jp.appspot.com/flowcontrol/7

#### 2.1.2.3 Exercise：For文とIf文を使ったプログラムの演習

- https://go-tour-jp.appspot.com/flowcontrol/8

#### 2.1.2.4 Switch文について
- https://go-tour-jp.appspot.com/flowcontrol/9
- https://go-tour-jp.appspot.com/flowcontrol/10
- https://go-tour-jp.appspot.com/flowcontrol/11

#### 2.1.2.5 Deferについて
- https://go-tour-jp.appspot.com/flowcontrol/12
- https://go-tour-jp.appspot.com/flowcontrol/13

#### 2.1.2.6 この章を終わります。
- https://go-tour-jp.appspot.com/flowcontrol/14

### 2.1.3 新しい型の定義について

#### 2.1.3.1 ポインタについて
- https://go-tour-jp.appspot.com/moretypes/1
  - ポインタは参照渡しである

#### 2.1.3.2 構造体について
- https://go-tour-jp.appspot.com/moretypes/2
- https://go-tour-jp.appspot.com/moretypes/3
- https://go-tour-jp.appspot.com/moretypes/4
- https://go-tour-jp.appspot.com/moretypes/5

#### 2.1.3.3 配列について
- https://go-tour-jp.appspot.com/moretypes/6

#### 2.1.3.4 スライスについて
- https://go-tour-jp.appspot.com/moretypes/7
- https://go-tour-jp.appspot.com/moretypes/8
- https://go-tour-jp.appspot.com/moretypes/9
- https://go-tour-jp.appspot.com/moretypes/10
- https://go-tour-jp.appspot.com/moretypes/11
- https://go-tour-jp.appspot.com/moretypes/12
- https://go-tour-jp.appspot.com/moretypes/13
  - make関数でスライスを作成する
- https://go-tour-jp.appspot.com/moretypes/14
- https://go-tour-jp.appspot.com/moretypes/15
- https://go-tour-jp.appspot.com/moretypes/16
  - rangeを使うと、indexとvalueを抽出できる
- https://go-tour-jp.appspot.com/moretypes/17
  - rangeでは、`_`を用いることで不要な値を捨てることができる。

#### 2.1.3.5 Exercise：スライスを使ったプログラムの演習
- https://go-tour-jp.appspot.com/moretypes/18

#### 2.1.3.6 Mapについて
- https://go-tour-jp.appspot.com/moretypes/19
  - Map：`key`と`value`の組み合わせ。
      - `key`は、`name` `ID`等好きなものを指定できる。
      - 配列やスライスは、`index`と`value`の組み合わせ。
          - `index`は、`0,1,2,...`の数字で決まっている。
  - Mapは、python等他の言語で「辞書」と呼ばれる
- https://go-tour-jp.appspot.com/moretypes/20
  - Mapは、構造体とは違い`key`が必要である。
- https://go-tour-jp.appspot.com/moretypes/21
- https://go-tour-jp.appspot.com/moretypes/22
  - Mapの操作

#### 2.1.3.7 Exercise：Mapを使ったプログラムの演習
- https://go-tour-jp.appspot.com/moretypes/23

#### 2.1.3.8 関数の応用

- https://go-tour-jp.appspot.com/moretypes/24
  - 関数を変数として扱う
- https://go-tour-jp.appspot.com/moretypes/25
  - 関数のClosure(外部から変数を参照する関数値)

#### 2.1.3.9 Exercise：Closureに関するプログラムの演習
- https://go-tour-jp.appspot.com/moretypes/26

#### 2.1.3.10 この章を終わります。
- https://go-tour-jp.appspot.com/moretypes/27

## 2.2 メソッド、Interface、オブジェクトとその動作を定義する構造体について

### 2.2.1 メソッドについて

- https://go-tour-jp.appspot.com/methods/1
- https://go-tour-jp.appspot.com/methods/2
- https://go-tour-jp.appspot.com/methods/3
- https://go-tour-jp.appspot.com/methods/4
- https://go-tour-jp.appspot.com/methods/5
- https://go-tour-jp.appspot.com/methods/6
- https://go-tour-jp.appspot.com/methods/7
- https://go-tour-jp.appspot.com/methods/8

### 2.2.2 Interfaceについて
- https://go-tour-jp.appspot.com/methods/9
- https://go-tour-jp.appspot.com/methods/10
- https://go-tour-jp.appspot.com/methods/11
- https://go-tour-jp.appspot.com/methods/12
- https://go-tour-jp.appspot.com/methods/13
- https://go-tour-jp.appspot.com/methods/14
- https://go-tour-jp.appspot.com/methods/15
- https://go-tour-jp.appspot.com/methods/16
- https://go-tour-jp.appspot.com/methods/17

### 2.2.3 Exercise：Stringer Interfaceを使ったプログラムの演習
- https://go-tour-jp.appspot.com/methods/18

### 2.2.4 Errorについて
- https://go-tour-jp.appspot.com/methods/19

### 2.2.5 Exercise：Errorに関するプログラムの演習
- https://go-tour-jp.appspot.com/methods/20

### 2.2.6 Readers Interfaceについて
- https://go-tour-jp.appspot.com/methods/21

### 2.2.7 Exercise：Readers Interfaceに関するプログラムの演習
- https://go-tour-jp.appspot.com/methods/22
  - Reader型の実装
- https://go-tour-jp.appspot.com/methods/23
  - io.Reader Interfaceの実装

### 2.2.8 imageパッケージについて
- https://go-tour-jp.appspot.com/methods/24

### 2.2.9 Exercise：imaegeパッケージに関するプログラムの演習
- https://go-tour-jp.appspot.com/methods/25

### 2.2.10 この章を終わります。
- https://go-tour-jp.appspot.com/methods/26

## 2.3 並行処理機能について(執筆者はまだ学習していない)
- https://go-tour-jp.appspot.com/concurrency/1
- https://go-tour-jp.appspot.com/concurrency/2
- https://go-tour-jp.appspot.com/concurrency/3
- https://go-tour-jp.appspot.com/concurrency/4
- https://go-tour-jp.appspot.com/concurrency/5
- https://go-tour-jp.appspot.com/concurrency/6
- https://go-tour-jp.appspot.com/concurrency/7
- https://go-tour-jp.appspot.com/concurrency/8
- https://go-tour-jp.appspot.com/concurrency/9
- https://go-tour-jp.appspot.com/concurrency/10
- https://go-tour-jp.appspot.com/concurrency/11

# 3. おまけ
- A Tour of Goのページ遷移が面倒な場合、`Fn`+`↑`/`↓`キーで簡単に遷移ができます。