Junior — Middle
Môžete vysvetliť mechanizmus evakuácie údajov alebo zdrojov v systémoch?
sobes.tech AI
Odpoveď od AI
V kontexte programovania v Go (Golang) je evakuácia dát alebo zdrojov zvyčajne spojená s správnym uvoľnením zdrojov, ako je zatváranie súborov, sieťových spojení alebo uvoľňovanie pamäte, aby sa predišlo únikom.
V Go sa na to často používa mechanizmus defer. Kľúčové slovo defer odkladá vykonanie funkcie do okamihu opustenia aktuálnej funkcie, čo zabezpečuje uvoľnenie zdrojov aj pri chybách.
Príklad:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // súbor sa zatvorí pri opustení funkcie
// práca so súborom
// ...
return nil
}
Evakuácia zdrojov je teda proces garantovaného uvoľnenia alebo vyčistenia zdrojov, aby sa predišlo zablokovaniu, únikom pamäte a iným problémom.