
Pakiet context
context.Context, anulowanie, timeouty, deadline'y, wartości, WithCancel, WithTimeout
1Jaka jest główna rola pakietu context w Go?
Jaka jest główna rola pakietu context w Go?
Odpowiedź
Pakiet context pozwala spójnie zarządzać timeoutami, anulowaniem i deadline'ami w całym łańcuchu wywołań. Zapobiega to powstawaniu goroutine zombie, które działają dalej, mimo że ich wynik nie jest już potrzebny. Zawsze przekazuj context jako pierwszy parametr i regularnie sprawdzaj Done() w długich operacjach, aby respektować anulowanie.
2Która funkcja tworzy pusty context bez deadline'u i anulowania?
Która funkcja tworzy pusty context bez deadline'u i anulowania?
Odpowiedź
context.Background() zwraca pusty, nieanulowany context bez deadline'u i wartości. Służy jako punkt wyjścia do tworzenia kontekstów pochodnych i jest zwykle używany w main, inicjalizacji lub testach. Nigdy nie używaj nil jako context, ponieważ powoduje to panic przy dostępie do metod.
3Jaka jest różnica między context.Background() a context.TODO()?
Jaka jest różnica między context.Background() a context.TODO()?
Odpowiedź
context.TODO() służy jako placeholder, gdy odpowiedni context nie jest jeszcze jasny lub dostępny podczas tworzenia. context.Background() jest używany dla rzeczywistych punktów wejścia, takich jak main lub handlery HTTP. Oba są funkcjonalnie identyczne, ale TODO() dokumentuje tymczasowy zamiar, który powinien zostać później zastąpiony.
Jak utworzyć context, który można anulować ręcznie?
Który channel pozwala wykryć anulowanie context?
+17 pytań z rozmów
Inne tematy rekrutacyjne Go
Podstawy Go
Struktury danych w Go
Interfejsy w Go
Obsługa błędów
Podstawy goroutines
Channels
Go Modules
Serwer HTTP
Klient HTTP
Kodowanie JSON
Database/SQL
Testing
Wzorce współbieżności
Prymitywy synchronizacji
Frameworki webowe Go
Projektowanie API REST
gRPC
Reflection
Zarządzanie pamięcią
Optymalizacja wydajności
Generics
Go Design Patterns
Microservices
Bezpieczeństwo i uwierzytelnianie
Docker & Containerization
Kubernetes Basics
Zaawansowany Go
Tworzenie CLI
Opanuj Go na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo