Junior — Middle
Aké máte skúsenosti s používaním kontextov vo vašich projektoch?
sobes.tech AI
Odpoveď od AI
V projektoch v Go som aktívne používal balík context na riadenie času vykonávania operácií a na zrušenie požiadaviek. Napríklad, pri práci s HTTP požiadavkami alebo databázami som vytváral kontext s časovým limitom, aby som predišiel zaseknutiu alebo únikom zdrojov.
Príklad použitia kontextu s časovým limitom:
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
result, err := db.QueryContext(ctx, "SELECT * FROM users")
if err != nil {
// spracovanie chyby
}
Tiež som používal kontexty na prenos metadát medzi vrstvami aplikácie, napríklad identifikátory požiadaviek na logovanie a sledovanie. To pomáha urobiť kód lepšie spravovateľný a citlivejší na zrušenie operácií.