Senior
რა არის defer-ი Go-ში? რა გამოიტანოს ორი defer-ით კოდი?
sobes.tech AI
პასუხი AI-სგან
Go ენაში, defer საკვანძო სიტყვა გამოიყენება ფუნქციის დაგვიანებული გამოძახებისთვის: ის შესრულდება გარშემომყოფი ფუნქციის დასრულების შემდეგ, მაგრამ მის დაბრუნებამდე.
თუ ფუნქციაში რამდენიმე defer არის, ისინი შესრულდებიან მათი გამოცხადების逆მხარით (ზარის სტეკი).
მაგალითი:
package main
import "fmt"
func main() {
defer fmt.Println("პირველი defer")
defer fmt.Println("მეორე defer")
fmt.Println("ძირითადი კოდი")
}
გამომავალი იქნება:
ძირითადი კოდი
მეორე defer
პირველი defer
ანუ, პირველ რიგში შესრულდება ძირითადი კოდი, შემდეგ დაგვიანებული გამოძახებები逆მხარით.