Go言語で学ぶべき項目を整理します。
基本編
- Goの実行環境の構築
- 最も基本的な構成。package、import、func main()
- varやconstで変数を宣言する
- 文字や数字を出力する。%T %v。
- 配列を作成する。可変長配列のスライスで作る
- map関数を作成する。キーと値を対応させる。
- 関数funcを作成する。引数と返り値。可変長引数。
- if文を作成する。
- for文を作成する。for-range. map-for-range.
- switch文を作成する。
- defer分を作成する。logをfileに書き込む。Log Fileの原型。
- panic, recover, error hundling。errorが起きた時に強制終了する。
- ポインタ型。&はアドレスを指し*でアドレスのメモリーが見れる。newとmake。
- 構造体typeを宣言する。構造体を継承した構造体embedded。.で呼び出すメソッド。
- type-interface。何の型でも引数に取れるswitch-type文。
- custom error。stringerを使い出力候補を複数にして、エラー内容を変える。
- goroutine。並列処理。channel。func main()とgoroutine間でデータを交換する
- goroutineの制御。producer&consumer。select。複数のgoroutineをブロッキングしないように。sync.Mutex。一つのgoroutine書き込み中にもう一つのgoroutineは書き込めない。
基本編2
- ローカルパッケージの読み込み。modモジュール名/サブパッケージ名。
- third partyのpackage。godocで調べてgo installで入れる。
- timeの表記(RFC3339)。regex。正規表現。URL次第で処理を変える時。/view/testなど。sort:型でソートできる。iota。constの連番を振る。
- context:goroutineの処理に時間がかかった時に途中でキャンセルする。ioutil:ネットワークから来たデータを保存して読み込む。
- httpにアクセスする方法。url.Parse:URLの正否を見る。ヘッドやクエリのURLに何かを付け加える。
- json.Unmarshalとjson.Marshal。jsonのデータを受信してstructに入れて、json形式に変換してjsonに送信する。
- APIでサーバーにアクセスする際の二者間認証。sha256のアルゴリズムにKeyを入れてmacを作り、そのmacに送りたいメッセージとnilを入れてhmacを作る。
- third partyで有用なpackage。semaphore:同時に走るgoroutineの数を制限する。ini:goでないファイル(config.ini)をgoで読み込む。
- sqliteをGoで操作する方法
コメント