Junior — Middle
შესაძლებელია ერთ ფუნქციაში რამდენიმე defer ოპერატორის გამოყენება?
sobes.tech AI
პასუხი AI-სგან
დიახ, Go ენის ფარგლებში ერთ ფუნქციაში შესაძლებელია რამდენიმე defer ოპერატორის გამოყენება. ყველა გადადებული გამოძახება შესრულდება обратном წესში (LIFO) ფუნქციის დასრულების შემდეგ. ეს სასარგებლოა რესურსების გათავისუფლების, ფაილების დახურვის, mutex-ების გასაღების და სხვა ოპერაციებისათვის.
მაგალითი:
func მაგალითი() {
defer fmt.Println("პირველი defer")
defer fmt.Println("მეორე defer")
fmt.Println("ფუნქციის სხეულში")
}
// შედეგი იქნება:
// ფუნქციის სხეულში
// მეორე defer
// პირველი defer