Junior — Middle
რა არის defer ოპერატორის როლი Go ენაში და რა სარგებელი აქვს მას?
sobes.tech AI
პასუხი AI-სგან
Go ენის defer ოპერატორი გამოიყენება ფუნქციის დასრულებამდე დაგვიანებით ფუნქციის შესრულებისთვის (საერთოდ რესურსების გათავისუფლების ან საბოლოო მოქმედებების შესასრულებლად).
defer-ის უპირატესობები:
- უზრუნველყოფს კოდის შესრულებას ფუნქციის ბოლოს, אפילו თუ ფუნქცია დასრულდება შეცდომით ან პანიკით.
- აუმჯობესებს კოდის წაკითხვას, საშუალებას აძლევს რესურსების გათავისუფლებას მათი განაწილების გვერდით.
- ხელს უშლის სუფთა კოდის დუბლირებას ფუნქციის სხვადასხვა ადგილას.
მაგალითი:
func readFile() error {
file, err := os.Open("file.txt")
if err != nil {
return err
}
defer file.Close() // ფაილი დაიხურება ფუნქციის დასრულებისას
// მუშაობა ფაილთან
return nil
}
აქ, file.Close() ავტომატურად გამოიძახება readFile-დან გამოსვლისას, независимо როგორ დასრულდება ფუნქცია.