たった1日で基本が身に付く! Go言語 超入門
書籍情報
発売日 : 2020年10月29日
著者/編集 : 清水美樹
出版社 : 技術評論社
発行形態 : 単行本
書籍説明
内容紹介
初心者でも大丈夫!無理なく理解ができる一番やさしいGo言語の教科書です。1単元=1時間。基本の知識をこの1冊で!
目次
■CHAPTER 1 Let's go ! Go言語
●SECTION 01 プログラミングとGo言語
プログラミングとは
なぜいろいろなプログラミング言語があるのか
主なプログラミング言語
Go言語の特徴
●SECTION 02 Goプログラミングを実行できるようにする
ホームページ上の実行環境
Goコンパイラをインストールする
Goプログラムを体験する
Visual Studio Codeをインストールする
●SECTION 03 プログラムの中身を見てみる
mainの意味
importの意味
●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文
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サーバーを動かすしくみ
特定のページが呼ばれた場合
テンプレートをファイルから読み込む
フォームからの送信データを受け取る
●SECTION 01 プログラミングとGo言語
プログラミングとは
なぜいろいろなプログラミング言語があるのか
主なプログラミング言語
Go言語の特徴
●SECTION 02 Goプログラミングを実行できるようにする
ホームページ上の実行環境
Goコンパイラをインストールする
Goプログラムを体験する
Visual Studio Codeをインストールする
●SECTION 03 プログラムの中身を見てみる
mainの意味
importの意味
●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文
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サーバーを動かすしくみ
特定のページが呼ばれた場合
テンプレートをファイルから読み込む
フォームからの送信データを受け取る
著者情報
清水, 美樹, 1963-
清水美樹
清水 美樹(しみず みき)
東北大学工学研究科博士後期課程修了(1992年)。同学助手(1996年まで)。専攻の「資源工学」は物理化学実験中心で、
プログラミングは結婚退職後ほぼ独学。初めてのプログラミングを前にした当惑や苛立ちに深く共感。2004年「はじめて
のNetBeans」以来、工学社「はじめて」本シリーズを多数執筆。プログラミング言語は広く浅く、読者が最初の壁を乗り
越えるための手助けをライフワークとする。2019年から東京都在住。