Go

context パッケージ

context.Context、キャンセル、timeout、deadline、値、WithCancel、WithTimeout

20 面接問題·
Mid-Level
1

Go における context パッケージの主な役割は何ですか?

回答

context パッケージは、呼び出しチェーン全体で timeout、キャンセル、deadline を一貫して管理できます。これにより、結果が不要になっても動き続けるゾンビ goroutine を防ぎます。context は常に最初の引数として渡し、長い処理ではキャンセルを尊重するために定期的に Done() を確認してください。

2

deadline もキャンセルもない空の context を作成する関数はどれですか?

回答

context.Background() は、キャンセル不可で deadline も値もない空の context を返します。派生 context を作成するための起点となり、通常は main、初期化、テストで使用されます。メソッドへのアクセス時に panic が発生するため、context として nil を決して使用しないでください。

3

context.Background() と context.TODO() の違いは何ですか?

回答

context.TODO() は、開発中に適切な context がまだ明確でない、または利用できない場合のプレースホルダーとして機能します。context.Background() は main や HTTP ハンドラーのような実際のエントリーポイントで使用されます。両者は機能的に同一ですが、TODO() は後で置き換えるべき一時的な意図を示します。

4

手動でキャンセルできる context を作成するにはどうすればよいですか?

5

context のキャンセルを検出できる channel はどれですか?

+17 面接問題

次の面接に向けてGoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める