Junior — Middle
Vai jūs varat izskaidrot defer konstrukcijas darbības principu un piemērošanu Go valodā?
sobes.tech AI
Atbilde no AI
Go valodā, defer atslēgas vārds tiek izmantots funkcijas atlikšanai: tā tiks izpildīta, iznākot no pašreizējās funkcijas, neatkarīgi no tā, kā notiek iziešana (normāla 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(filename string) error {
file, err := os.Open(filename)
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 rakstīt tīrāku un drošāku kodu, nodrošinot svarīgu noslēguma darbību izpildi.