
context パッケージ
context.Context、キャンセル、timeout、deadline、値、WithCancel、WithTimeout
20 面接問題·
Mid-Level
1Go における context パッケージの主な役割は何ですか?
1
Go における context パッケージの主な役割は何ですか?
回答
context パッケージは、呼び出しチェーン全体で timeout、キャンセル、deadline を一貫して管理できます。これにより、結果が不要になっても動き続けるゾンビ goroutine を防ぎます。context は常に最初の引数として渡し、長い処理ではキャンセルを尊重するために定期的に Done() を確認してください。
2deadline もキャンセルもない空の context を作成する関数はどれですか?
2
deadline もキャンセルもない空の context を作成する関数はどれですか?
回答
context.Background() は、キャンセル不可で deadline も値もない空の context を返します。派生 context を作成するための起点となり、通常は main、初期化、テストで使用されます。メソッドへのアクセス時に panic が発生するため、context として nil を決して使用しないでください。
3context.Background() と context.TODO() の違いは何ですか?
3
context.Background() と context.TODO() の違いは何ですか?
回答
context.TODO() は、開発中に適切な context がまだ明確でない、または利用できない場合のプレースホルダーとして機能します。context.Background() は main や HTTP ハンドラーのような実際のエントリーポイントで使用されます。両者は機能的に同一ですが、TODO() は後で置き換えるべき一時的な意図を示します。
4
手動でキャンセルできる context を作成するにはどうすればよいですか?
5
context のキャンセルを検出できる channel はどれですか?
+17 面接問題
その他のGo面接トピック
Goの基礎
Junior
25問Goのデータ構造
Junior
20問Go のインターフェース
Junior
18問エラー処理
Junior
20問Goroutine の基礎
Junior
20問Channels
Junior
22問Go Modules
Mid-Level
18問HTTP サーバー
Mid-Level
24問HTTPクライアント
Mid-Level
18問JSON エンコーディング
Mid-Level
20問Database/SQL
Mid-Level
22問Testing
Mid-Level
22問並行処理パターン
Mid-Level
24問同期プリミティブ
Mid-Level
22問Go Web フレームワーク
Mid-Level
20問REST API 設計
Mid-Level
20問gRPC
Mid-Level
22問Reflection
Senior
20問メモリ管理
Senior
24問パフォーマンス最適化
Senior
22問Generics
Senior
20問Go Design Patterns
Senior
24問Microservices
Senior
24問セキュリティと認証
Senior
24問Docker & Containerization
Senior
20問Kubernetes Basics
Senior
22問高度な Go
Senior
20問CLI開発
Senior
20問