Go

context-Paket

context.Context, Abbruch, Timeouts, Deadlines, Werte, WithCancel, WithTimeout

20 Interview-Fragen·
Mid-Level
1

Was ist die Hauptaufgabe des context-Pakets in Go?

Antwort

Das context-Paket ermöglicht es, Timeouts, Abbrüche und Deadlines konsistent über die gesamte Aufrufkette zu verwalten. Dies verhindert Zombie-Goroutines, die weiterlaufen, obwohl ihr Ergebnis nicht mehr benötigt wird. Übergeben Sie den Context immer als ersten Parameter und prüfen Sie bei langen Operationen regelmäßig Done(), um Abbrüche zu respektieren.

2

Welche Funktion erstellt einen leeren Context ohne Deadline oder Abbruch?

Antwort

context.Background() gibt einen leeren, nicht abbrechbaren Context ohne Deadline oder Werte zurück. Er dient als Ausgangspunkt für die Erstellung abgeleiteter Contexts und wird typischerweise in main, der Initialisierung oder in Tests verwendet. Verwenden Sie niemals nil als Context, da dies beim Zugriff auf Methoden zu Panics führt.

3

Was ist der Unterschied zwischen context.Background() und context.TODO()?

Antwort

context.TODO() dient als Platzhalter, wenn der passende Context während der Entwicklung noch nicht klar oder verfügbar ist. context.Background() wird für echte Einstiegspunkte wie main oder HTTP-Handler verwendet. Beide sind funktional identisch, aber TODO() dokumentiert eine vorübergehende Absicht, die später ersetzt werden sollte.

4

Wie erstellt man einen Context, der manuell abgebrochen werden kann?

5

Welcher Channel ermöglicht es, den Abbruch eines Contexts zu erkennen?

+17 Interview-Fragen

Meistere Go für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten