
context-Paket
context.Context, Abbruch, Timeouts, Deadlines, Werte, WithCancel, WithTimeout
1Was ist die Hauptaufgabe des context-Pakets in Go?
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.
2Welche Funktion erstellt einen leeren Context ohne Deadline oder Abbruch?
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.
3Was ist der Unterschied zwischen context.Background() und context.TODO()?
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.
Wie erstellt man einen Context, der manuell abgebrochen werden kann?
Welcher Channel ermöglicht es, den Abbruch eines Contexts zu erkennen?
+17 Interview-Fragen
Weitere Go-Interviewthemen
Go-Grundlagen
Go-Datenstrukturen
Go-Interfaces
Fehlerbehandlung
Goroutines-Grundlagen
Channels
Go Modules
HTTP-Server
HTTP-Client
JSON-Kodierung
Database/SQL
Testing
Concurrency-Patterns
Synchronisationsprimitive
Go-Web-Frameworks
REST-API-Design
gRPC
Reflection
Speicherverwaltung
Performance-Optimierung
Generics
Go Design Patterns
Microservices
Sicherheit und Authentifizierung
Docker & Containerization
Kubernetes Basics
Fortgeschrittenes Go
CLI-Entwicklung
Meistere Go für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten