Middle
რა არის defer ოპერატორი ენის Go-ში?
sobes.tech AI
პასუხი AI-სგან
defer ოპერატორი გამოიყენება ფუნქციის ან მეთოდის დაგვიანებული შესრულებისთვის. defer-ით აღნიშნული ფუნქციები ან მეთოდები შესრულდება ზუსტად იმ ფუნქციის დასრულებამდე, რომელიც მათ შეიცავს.
defer-ის მუშაობის პრინციპები:
- შესრულდება მიმდინარე ფუნქციიდან გამოსვლის დროს, იქნება ეს ნორმალური ან პანიკის გამო;
- ერთ ფუნქციაში რამდენიმე
deferშესრულდება LIFO (Last-In, First-Out) წესით; - სასარგებლოა რესურსების დასუფთავებისთვის, მაგალითად, ფაილების ან ქსელური კავშირების დახურვისთვის.
გამოყენების მაგალითი:
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("ფაილის გახსნა.")
file, err := os.Open("example.txt")
if err != nil {
// შეცდომის დამუშავება
return
}
// დაგვიანებული ფაილის დახურვა
defer file.Close()
defer fmt.Println("ფაილი დაიხურება.") // ეს `defer` შესრულდება პირველად (LIFO)
fmt.Println("ფაილის დამუშავება...")
// დამატებითი სამუშაო ფაილთან
}
პროგრამის გამოყვანა:
ფაილი იხსნება.
ფაილის დამუშავება...
ფაილი დაიხურება.