Go

Go

BACKEND

Googleが開発したシンプルさ、パフォーマンス、ネイティブ並行処理を提供するプログラミング言語です。高速コンパイル、並行処理のためのgoroutines、REST API、マイクロサービス、高性能バックエンドアプリケーション構築のための完全な標準ライブラリを備えたミニマリストアーキテクチャです。

学べること

超高速コンパイルを備えたシンプルで簡潔な構文

ネイティブで軽量な並行処理のためのgoroutinesとchannels

充実した標準ライブラリ(net/http、encoding/json、testing)

最適化されたガベージコレクターと低メモリフットプリント

自己完結型バイナリを生成する静的コンパイル

継承なしの柔軟性のためのインターフェースとduck typing

go test、ベンチマーク、race detectorによるネイティブテスト

Webフレームワーク(Gin、Echo、Fiber)とORM(GORM、sqlx)

エラーチェックパターンによる明示的なエラーハンドリング

静的バイナリによる簡素化されたデプロイ(Docker、Kubernetes)

マスターすべき重要トピック

この技術を理解し面接で成功するための最も重要な概念

1

Goの基本: 型、変数、関数、パッケージ、imports

2

Structs、メソッド、インターフェース、コンポジション(embedding)

3

Goroutines: goキーワード、並行処理 vs 並列処理、スケジューラー

4

Channels: buffered/unbuffered、select、range、close、パターン

5

エラーハンドリング: error型、wrapping errors、panic/recover

6

ポインタ: &、*、値渡し vs 参照渡し、nil pointers

7

スライスと配列: make、append、capacity、サブスライス

8

Maps: 作成、アクセス、削除、イテレーション、ゼロ値

9

インターフェース: empty interface、type assertions、type switches

10

標準ライブラリ: net/http、encoding/json、io、context

11

HTTPサーバー: http.Handler、http.HandlerFunc、multiplexers

12

Context: キャンセル、タイムアウト、値、伝播

13

テスト: ユニットテスト、table-driven tests、mocking、coverage

14

GORM: models、マイグレーション、associations、preloading、hooks

15

フレームワーク: Gin(routing、middleware)、Echo、Fiber

16

並行処理パターン: worker pools、pipelines、fan-out/fan-in

17

Middleware: chaining、認証、ロギング、recovery

18

パフォーマンス: profiling(pprof)、ベンチマーク、最適化

19

Modules: go.mod、バージョニング、依存関係、vendoring

20

デプロイ: Docker multi-stage builds、Kubernetes、静的バイナリ