Junior
Kādu lomu spēlē konstrukcija defer Go valodā?
sobes.tech AI
Atbilde no AI
Go valodā konstrukcija defer tiek izmantota, lai atliktu funkcijas izpildi — tā tiks izsaukta, iznākot no pašreizējās funkcijas, neatkarīgi no tā, kā notiek iziešana (normāli vai kļūdas dēļ).
Tas ir noderīgi resursu atbrīvošanai, failu aizvēršanai, mutexu atbloķēšanai un citām tīrīšanas operācijām.
Piemērs:
func readFile() error {
file, err := os.Open("file.txt")
if err != nil {
return err
}
defer file.Close() // fails tiks aizvērts, iznākot no funkcijas
// darbs ar failu
return nil
}
Tādējādi defer palīdz nodrošināt svarīgu noslēguma darbību izpildi, uzlabojot resursu pārvaldību un kļūdu apstrādi.