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

Leave a Comment

Golangda sabitler nasıl kullanılır

Golangda sabitler nasıl kullanılır

Golang'da Constant veya Const nedir? Go'da sabitlerin kullanımı hakkında bilmeniz gerekenler şunlardır.

Golangda değişken fonksiyonlar

Golangda değişken fonksiyonlar

Go'daki değişkenli fonksiyonlar, bir fonksiyona değişken sayıda argüman geçirmenize olanak tanır. Golang'daki değişken fonksiyonlar hakkında bilmeniz gereken her şey burada.

Golangda adlandırılmış dönüş parametreleri

Golangda adlandırılmış dönüş parametreleri

Golang'da adlandırılmış dönüş parametrelerine sıklıkla adlandırılmış parametreler denir. Golang, fonksiyonların dönüş parametrelerinin veya sonuçlarının fonksiyon imzasında veya tanımında isimlendirilmesine olanak tanır.

Godaki Anahtar Sözcükler

Godaki Anahtar Sözcükler

Anahtar Kelime - Anahtar kelimeler, bir dildeki bazı iç işlemler için kullanılan veya önceden tanımlanmış bazı eylemleri temsil eden kelimelerdir. Golang'da anahtar kelimeler hakkında bilmeniz gerekenler şunlardır.

Golangdaki veri türleri

Golangdaki veri türleri

Veri türü, geçerli bir Go değişkeninin içerebileceği veri türünü belirtir. Go dilinde tipler aşağıdaki gibi dört kategoriye ayrılır:

Golangda fonksiyon argümanları

Golangda fonksiyon argümanları

Go, argümanları geçirmenin iki ana yolunu destekler: Değere göre geçirme ve Referansa göre geçirme. Go varsayılan olarak pass by value'yu kullanır.

Golangda birden fazla değer döndüren fonksiyon

Golangda birden fazla değer döndüren fonksiyon

Go dilinde return ifadesi kullanılarak bir fonksiyondan birden fazla değer döndürülebilir. Başka bir deyişle, bir fonksiyon içerisinde return ifadesi birden fazla değer döndürebilir.

Goda Switch İfadesi

Goda Switch İfadesi

Golang'da diğer programlama dillerinin çoğunda olduğu gibi switch ifadesi bulunmaktadır. Golang'da switch ifadesinin nasıl kullanılacağını burada bulabilirsiniz.

Golangda seçim ifadeleri kullanılırken bilinmesi gereken durumlar

Golangda seçim ifadeleri kullanılırken bilinmesi gereken durumlar

Bu yazımızda çıkmazdan kaçınmak için varsayılan durumun nasıl kullanılacağını öğreneceğiz. Ama önce Golang select komutunu kullanırken deadlock durumunun ne olduğunu öğrenelim.

Golangdaki anonim yapılar ve alanlar

Golangdaki anonim yapılar ve alanlar

Golang'daki anonim yapılar, tek seferlik amaçlar için kullanılan, isimlendirilmemiş geçici yapılardır; anonim alanlar ise isimlendirilmemiş alanların gömülmesine olanak tanır.

Golangda Rune nasıl kullanılır

Golangda Rune nasıl kullanılır

Golang'da Rünler Nelerdir? Golang'da Rune nasıl kullanılır? Cevabını makalemizde bulacaksınız.

Golangda operatörler nasıl kullanılır

Golangda operatörler nasıl kullanılır

Operatörler, operandlar üzerinde farklı tipte işlemler yapmamızı sağlar. Go dilinde operatörler farklı işlevlerine göre sınıflandırılabilir.

Golangda boşluk tanımlayıcısı

Golangda boşluk tanımlayıcısı

Golang'da _(alt çizgi) Boş Tanımlayıcı olarak adlandırılır. Tanımlayıcı, tanımlama amacıyla kullanılan program bileşenlerinin kullanıcı tarafından tanımlanan adıdır.

Golangda temel program nasıl oluşturulur

Golangda temel program nasıl oluşturulur

Selam Dünya! Herhangi bir programlama dilindeki ilk temel programdır. Aşağıdaki adımları izleyerek Golang'da ilk programınızı yazabilirsiniz.

Goyu Windowsa Nasıl Yüklerim

Goyu Windowsa Nasıl Yüklerim

Golang Windows'a kolaylıkla kurulabilir. Aşağıda Golang'ı Windows'a yüklemeye ilişkin ayrıntılı adım adım bir kılavuz bulunmaktadır.

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!

Yapay Zeka Destekli Verimlilik için Microsoft Teams Copilot Nasıl Kullanılır?

Yapay Zeka Destekli Verimlilik için Microsoft Teams Copilot Nasıl Kullanılır?

Microsoft Teams Copilot'ı kullanarak yapay zeka destekli verimliliği nasıl artıracağınızı keşfedin. Toplantıları, sohbetleri ve görevleri zahmetsizce dönüştürmek için adım adım kılavuz, temel özellikler ve ipuçları. Daha akıllı iş birliğinin kilidini bugün açın!

Microsoft Teams Önbelleğini Temizleyerek Performans Sorunlarını Nasıl Giderebilirsiniz?

Microsoft Teams Önbelleğini Temizleyerek Performans Sorunlarını Nasıl Giderebilirsiniz?

Microsoft Teams'in yavaş çalışmasından mı şikayetçisiniz? Windows, Mac, web ve mobil cihazlarda performans sorunlarını, gecikmeleri, çökmeleri gidermek ve hızı artırmak için Microsoft Teams önbelleğini adım adım nasıl temizleyeceğinizi öğrenin. İşe yarayan hızlı çözümler!

Teams Takvimim Nerede? Senkronizasyon Sorunlarını Giderme

Teams Takvimim Nerede? Senkronizasyon Sorunlarını Giderme

"Teams Takvimim Nerede?" sorunuyla mı boğuşuyorsunuz? Microsoft Teams'deki senkronizasyon sorunlarını adım adım çözün. Takvim görünümünüzü geri yükleyin ve zahmetsizce senkronize edin—uzman ipuçları içeride!

Chromebooklarda Microsoft Teams Giriş Hatası Nasıl Düzeltilir?

Chromebooklarda Microsoft Teams Giriş Hatası Nasıl Düzeltilir?

Chromebook'larda Microsoft Teams oturum açma hatasıyla mı karşılaşıyorsunuz? Oturum açma sorunlarını hızlıca çözmek için adım adım çözümleri keşfedin. Sorunsuz ekip çalışması için önbelleği temizleyin, uygulamaları güncelleyin ve daha fazlasını yapın. En yeni Chrome OS sürümlerinde çalışır!

Microsoft Teams Kullanıcı Arayüzünü Daha Büyük ve Daha Okunabilir Hale Getirme Yöntemleri

Microsoft Teams Kullanıcı Arayüzünü Daha Büyük ve Daha Okunabilir Hale Getirme Yöntemleri

Microsoft Teams'te küçük yazı tipleriyle mi mücadele ediyorsunuz? Microsoft Teams arayüzünüzü daha büyük ve daha okunaklı hale getirmek için kanıtlanmış adımları keşfedin. Masaüstü, web ve erişilebilirlik ayarları için kolay düzenlemelerle netliği artırın ve göz yorgunluğunu azaltın.