Golangda Erteleme Anahtar Kelimesi

Go'da, defer ifadeleri yakındaki fonksiyonlar dönene kadar bir fonksiyonun, metodun veya anonim bir metodun yürütülmesini geciktirir. Başka bir deyişle, erteleme işlevlerine veya yöntemlerine verilen argümanlar hemen değerlendirilir, ancak yakındaki işlevler dönene kadar yürütülmezler. Defer anahtar sözcüğünü kullanarak ertelenmiş bir yöntem, fonksiyon veya anonim fonksiyon oluşturabilirsiniz.

Golang'da Erteleme Anahtar Kelimesi

Sözdizimi:

// Hàm
defer func func_name(parameter_list Type)return_type{
// Code
}

// Phương thức
defer func (receiver Type) method_name(parameter_list){
// Code
}

defer func (parameter_list)(return_type){
// code
}()

Önemli Not:

  • Go dilinde aynı program içerisinde birden fazla defer ifadesine izin verilir ve bunlar Örnek 2'de gösterildiği gibi LIFO (Son Giren İlk Çıkar) sırasına göre yürütülür.
  • Erteleme ifadelerinde, argümanlar erteleme ifadesi çağrıldığında değil, yürütüldüğünde değerlendirilir.
  • Erteleme ifadeleri sıklıkla dosyaların ihtiyaç sona erdiğinde kapatılmasını sağlamak, kanalları kapatmak veya programdaki sorunları yakalamak için kullanılır.

Şimdi daha iyi anlamak için bir örneğe bakalım.

Örnek 1:

// Chương trình Go minh họa
// khái niệm của lệnh defer
package main

import "fmt"

// Các hàm
func mul(a1, a2 int) int {

	res := a1 * a2
	fmt.Println("Result: ", res)
	return 0
}

func show() {
	fmt.Println("Hello!, Quantrimang.com")
}

// Hàm chính
func main() {

	// Gọi hàm mul() 
	// Tại đây hàm mul hoạt động
	// như một hàm bình thường
	mul(23, 45)

	// Gọi hàm mul()
	// Dùng từ khóa defer 
	// Hàm the mul() 
	// là hàm defer
	defer mul(23, 56)

	// Gọi hàm show() 
	show()
}

Sonuç:

Result:  1035
Hello!, Quantrimang.com
Result:  1288

Açıklama: Yukarıdaki örnekte mul() ve show() adında iki fonksiyonumuz var . show () fonksiyonu normalde main() fonksiyonu içerisinde çağrılırken , mul() fonksiyonu iki farklı şekilde çağrılır:

  • Öncelikle mul fonksiyonunu normal şekilde (defer anahtar sözcüğü olmadan) çağırıyoruz, yani mul(23, 45) ve fonksiyon çağrıldığında o da çalışıyor (Çıktı: Sonuç: 1035).
  • İkinci olarak, mul() fonksiyonunu defer anahtar sözcüğünü kullanarak bir defer fonksiyonu olarak çağırıyoruz, yani defer mul(23, 56) ve çevredeki tüm metotlar döndüğünde (Çıktı: Sonuç: 1288) yürütülüyor.

Örnek 2:

// Minh họa chương trình Go
// dùng nhiều lệnh defer, để minh họa chính sách LIFO 
package main

import "fmt"

// Các hàm
func add(a1, a2 int) int {
	res := a1 + a2
	fmt.Println("Result: ", res)
	return 0
}

// Hàm chính
func main() {

	fmt.Println("Start")

	// Nhiều lệnh defer
	// Triển khai theo thứ tự LIFO 
	defer fmt.Println("End")
	defer add(34, 56)
	defer add(10, 10)
}

Sonuç:

Start
Result:  20
Result:  90
End

Yorum bırak

Microsoft Teams Lisans Hatası Giderme

Microsoft Teams Lisans Hatası Giderme

Microsoft Teams'te "Lisans Hatası" ile mi karşılaşıyorsunuz? Lisans sorunlarını hızlıca çözmek, erişimi geri yüklemek ve BT ekibiyle uğraşmadan verimliliği artırmak için bu adım adım sorun giderme kılavuzunu izleyin. En son düzeltmelerle güncellendi.

Microsoft Teams Ücretsiz Abonelik Hatası Nasıl Düzeltilir?

Microsoft Teams Ücretsiz Abonelik Hatası Nasıl Düzeltilir?

Microsoft Teams Ücretsiz Abonelik Hatası yüzünden toplantılarınızın aksamasından bıktınız mı? Sorunu hızlıca çözmek ve sorunsuz ekip çalışmasını yeniden sağlamak için kanıtlanmış, adım adım çözümleri keşfedin. En yeni sürümlerde çalışır!

Herkese Açık Wi-Fi Ağlarında Microsoft Teams Ağ Hatasını Çözme

Herkese Açık Wi-Fi Ağlarında Microsoft Teams Ağ Hatasını Çözme

Herkese açık Wi-Fi ağlarında Microsoft Teams ağ hatasıyla mı karşılaşıyorsunuz? Aramalarınızı ve toplantılarınızı sorunsuz bir şekilde geri yüklemek için VPN ayarları, port kontrolleri ve önbellek temizleme gibi anında çözümler bulun. Hızlı çözüm için adım adım kılavuz.

Microsoft Teams Wiki Sekmesinin Yüklenmeme Hatası Nasıl Düzeltilir?

Microsoft Teams Wiki Sekmesinin Yüklenmeme Hatası Nasıl Düzeltilir?

Microsoft Teams Wiki sekmesinin yüklenmemesi hatasıyla mı karşılaşıyorsunuz? Sorunu hızlıca çözmek, Wiki sekmelerinizi geri yüklemek ve ekip verimliliğini sorunsuz bir şekilde artırmak için kanıtlanmış adım adım çözümleri keşfedin.

Microsoft Teams Mac Hata Anahtar Zinciri Sorunlarını Giderme

Microsoft Teams Mac Hata Anahtar Zinciri Sorunlarını Giderme

Microsoft Teams Mac'te Anahtar Zinciri hatasıyla mı mücadele ediyorsunuz? Sorunsuz iş birliğine geri dönmek için macOS için kanıtlanmış, adım adım sorun giderme çözümlerini keşfedin. Hızlı çözümler içeride!

Microsoft Teams Mikrofonunda Sesin Boğuk Gelmesi veya Hiç Gelmemesi Sorununu Nasıl Çözersiniz?

Microsoft Teams Mikrofonunda Sesin Boğuk Gelmesi veya Hiç Gelmemesi Sorununu Nasıl Çözersiniz?

Microsoft Teams mikrofonunuzda boğuk veya hiç ses olmamasından bıktınız mı? Microsoft Teams mikrofon sorunlarını hızlı ve kanıtlanmış adımlarla nasıl çözeceğinizi keşfedin. Net ses sizi bekliyor!

Microsoft Teamse Hızlı Mobil Giriş İçin QR Kodunu Nerede Bulabilirsiniz?

Microsoft Teamse Hızlı Mobil Giriş İçin QR Kodunu Nerede Bulabilirsiniz?

Microsoft Teams QR kodunun nerede olduğunu ve mobil cihazınızdan süper hızlı nasıl giriş yapabileceğinizi tam olarak keşfedin. Adım adım, görsellerle desteklenmiş kılavuz sayesinde saniyeler içinde bağlantı kurabilirsiniz—şifreye gerek yok!

Microsoft Teams Neden Bu Kadar Yavaş? 2026da Hızlandırmak İçin 10 İpucu

Microsoft Teams Neden Bu Kadar Yavaş? 2026da Hızlandırmak İçin 10 İpucu

Microsoft Teams'in yavaş çalışmasından mı rahatsızsınız? Microsoft Teams'in neden bu kadar yavaş olduğunu keşfedin ve 2026'da sorunsuz bir iş birliği için hızını önemli ölçüde artırmak üzere bu 10 kanıtlanmış ipucunu uygulayın.

Bilgisayarınızda Microsoft Teams Kurulum Klasörünü Nerede Bulabilirsiniz?

Bilgisayarınızda Microsoft Teams Kurulum Klasörünü Nerede Bulabilirsiniz?

Bilgisayarınızda Microsoft Teams kurulum klasörünü bulmakta zorlanıyor musunuz? Bu adım adım kılavuz, yeni ve klasik Teams sürümleri için, kullanıcı ve makine bazında kurulumların tam yollarını gösteriyor. Sorun gidermede zamandan tasarruf edin!

Microsoft Teams Görev Yönetimi Senkronizasyon Hataları Nasıl Düzeltilir?

Microsoft Teams Görev Yönetimi Senkronizasyon Hataları Nasıl Düzeltilir?

Microsoft Teams Görev Yönetimi Senkronizasyon Hatalarının iş akışınızı aksatmasından bıktınız mı? Teams, Planner ve To Do genelinde sorunsuz görev senkronizasyonunu geri yüklemek için uzmanlarımızın adım adım çözümlerini izleyin. Anında rahatlama için hızlı çözümler!