Go言語N本ノック

Go言語初心者による勉強用リポジトリ

実行方法

git clone git@github.com:SatoshiTomita/golang-100knocks.git
cd golang-100knocks

.devcontainerがあるので、VSCodeなどで開くとコンテナを立ち上げることができます

Go言語の学習

  1. varによる変数の宣言と初期化
  2. 短縮した変数の宣言と初期化
  3. 配列とMap
  4. 条件分岐
  5. ループ
  6. switch文
  7. 関数の定義と呼び出し
  8. 引数と戻り値
  9. ゴルーチンの作成と実行
  10. チャネルの使用
  11. パッケージの作成とインポート
  12. ポインタ
  13. ポインタの参照渡し
  14. net/httpによるHTTPサーバーの作成
  15. fmtによるテキストのフォーマットと表示
  16. bufioによるテキストの読み込み
  17. timeによる時間の取得とフォーマット
  18. stringsによる文字列の操作
  19. strconvによる文字列と数値の変換
  20. structによる構造体の定義
  21. JSONのエンコードとデコード
  22. jsonのバリデーション
  23. PostgreSQLによるSQLデータベースのCRUD操作
  24. GORMによるSQLデータベースの操作
  25. GinによるWebアプリケーションの作成
  26. osによるファイルの操作
  27. testingによるテストの作成
  28. waitgroupによる並列処理の同期
  29. APIへのリクエストをwaitgroupで並列化
  30. mutexによる排他制御
  31. トランザクション
  32. テンプレートエンジン
  33. gin-swaggerによるAPIドキュメントの作成
  34. GraphiQLによるGraphQLの実行
  35. slogによるログの出力
  36. zapによるログの出力
  37. RestyによるHTTPクライアントの作成
  38. JWTトークンの作成と検証
  39. GinによるJWTトークンの検証
  40. errorsによるエラーの作成とハンドリング
  41. panicとrecoverによるエラーハンドリング
  42. パスワードのハッシュ化
  43. ユーザ認証サーバ