概要
本書は,Go言語によるプログラミングを学ぶための入門書です。開発環境のインストールから始まり,Go言語の基本を解説しており,最初の1冊目として最適です。Go言語によるプログラムの作り方の基本から条件分岐や繰り返し,関数,構造体など文法を学習し,最後に入出力,画像処理,並列処理,Go言語によるWebサーバーなどを作成して基礎を固めていきます。
こんな方におすすめ
- Go言語を基本から学びたい人
 - Go言語ではじめてのプログラミングを学ぶ人
 
    
    
      目次
CHAPTER 1 Let's go ! Go言語
SECTION 01 プログラミングとGo言語
- プログラミングとは
 
- なぜいろいろなプログラミング言語があるのか
 
- 主なプログラミング言語
 
- Go言語の特徴
 
SECTION 02 Goプログラミングを実行できるようにする
- ホームページ上の実行環境
 
- Goコンパイラをインストールする
 
- Goプログラムを体験する
 
- Visual Studio Codeをインストールする
 
SECTION 03 プログラムの中身を見てみる
SECTION 04 プログラム実行に最低限必要なこと
- 別のソースファイルを書いてビルド・実行
 
- 変数の使用
 
- 式とその値
 
- 文
 
- その他の重要なこと
 
CHAPTER 2 よく使うデータ型
SECTION 01 数値でよく使うデータ型
- データ型とは
 
- データ型を自動判別する代入記法
 
- 自分自身の値に処理を加える
 
- 整数「int」と小数「float64」
 
SECTION 02 文字列型
- 文字列の基本
 
- 文字列の結合
 
- 数値を文字列に埋め込む
 
- エスケープ記号を用いた改行
 
SECTION 03 データの集合体
SECTION 04 ブール型
- ブール型の基本
 
- 等価演算子による式の値
 
- 比較演算子による式の値
 
- 論理演算子による式の値
 
CHAPTER 3 処理の流れを操る制御文
SECTION 01 繰り返す(for文)
- for文の基本
 
- 文字列の配列
 
- 2次元配列上での繰り返し
 
SECTION 02 もし...なら(if文)
- そうでなければ何もしない
 
- そうでなければ,別の処理をする
 
SECTION 03 switch文
SECTION 04 高度な制御文
- 論理積・論理和を用いたif文
 
- switch文の便利な使い方
 
CHAPTER 4 複雑な処理をまとめる関数
SECTION 01 プログラミングでいう「関数」
- 関数をなぜ使うのか
 
- 関数の定義方法
 
- 関数の呼び出し
 
SECTION 02 関数の値を用いる
- Printf関数のしくみ
 
- main関数の謎
 
- 別の関数を呼び出す
 
- 複数の戻り値を与える
 
SECTION 03 値としての関数
- 「関数の値」ではなく「関数が値」
 
- 関数を引数にとる関数
 
SECTION 04 クロージャという特殊な関数
- 関数を実行するたび加算される?
 
- 引数を取るクロージャ
 
- クロージャのどこがいいのか
 
CHAPTER 5 複雑なデータ構造を記述する構造体
SECTION 01 フィールドだけを持つ構造体 ── 犬の種類を書く
- プログラムの中で「犬」を記述してみよう
 
- 構造体のインスタンスのフィールド
 
- 構造体のインスタンスを引数にとる関数
 
- 構造体のインスタンスを戻り値とする関数
 
SECTION 02 構造体にメソッドを与える ── 犬を主人公にする
- メソッドを用いたプログラム
 
- 似て非なる構造体と同名のメソッド
 
- 引数をとるメソッド
 
SECTION 03 一歩進んだ構造体の使い方
- 構造体の初期化メソッド
 
- メソッドのチェインあるいはストリーム
 
- いろいろなメソッド
 
- メソッドのチェインをmain関数で作成
 
SECTION 04 インターフェイス
- インターフェイスとは
 
- より複雑な構造体とインターフェイス
 
CHAPTER 6 データを直接指し示すポインタ
SECTION 01 アドレスとポインタ
- 変数から変数へ値を渡す
 
- 値の保存場所を明らかにする
 
- アドレスを指して内容を呼び出す
 
- アドレスを指して内容を書き換える
 
SECTION 02 関数とポインタ
- クロージャの謎
 
- アドレスを引数に渡す関数
 
- 構造体のポインタと関数
 
SECTION 03 メソッドとポインタ
- 構造体にポインタを使いたい理由
 
- レシーバを構造体のポインタにする
 
SECTION 04 ポインタ使用上の注意
- レシーバを構造体のポインタにしない場合との違い
 
- メソッドのチェインとの使い分け
 
- 構造体のフィールドにポインタ表現を用いる
 
CHAPTER 7 Goプログラミングの注意事項
SECTION 01 値がない・値を定義しない
- nilとは
 
- フィールドの値を決めないとどうなるか
 
- 変数を宣言したままの場合
 
- 配列とスライスで要素を決めない場合
 
SECTION 02 基本的な型変換
- 整数を文字列に変換するには
 
- 小数を文字列に変換するには
 
- 整数と小数を相互に変換
 
- 変数の値のデータ型を確認する
 
SECTION 03 エラーの扱い
- 結果とエラーインスタンスをともに戻す関数
 
- Atoiが返すerror型インスタンス
 
- errorの正体は「インターフェイス」
 
SECTION 04 高度なデータ型
- 整数の細かいデータ型
 
- 複素数
 
- 文字列の解析
 
- mapとrange
 
CHAPTER 8 Go言語の魅力を体験するプログラム
SECTION 01 入出力
- キーボードからの入力
 
- ファイルからの入力
 
- ファイルへの出力
 
SECTION 02 画像を処理する
SECTION 03 並列処理
- goroutine(ゴルーチン)
 
- チャンネル
 
- 複数のチャンネルを使い分ける
 
SECTION 04 Go言語で書けるWebサーバー
- Webサーバープログラムに必要なパッケージ
 
- Go言語のWebサーバーを動かすしくみ
 
- 特定のページが呼ばれた場合
 
- テンプレートをファイルから読み込む
 
- フォームからの送信データを受け取る