Golangda Erteleme Anahtar Kelimesi

Kaydolun ve günde 1000 $ kazanın ⋙

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
Sign up and earn $1000 a day ⋙

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.

Bilgisayarın aniden kapanmasını düzeltmenin basit yolu

Bilgisayarın aniden kapanmasını düzeltmenin basit yolu

Eğer ki kullanırken bilgisayarınız aniden kapanırsa. Bilgisayarınızda ne sorun olduğunu mu merak ediyorsunuz? Bu makale bu hatanın nasıl düzeltileceği konusunda size yol gösterecektir.

Safaride okuma listesi nasıl silinir

Safaride okuma listesi nasıl silinir

Zamanla, Safari okuma listenizi daha sık kullandıkça, liste büyüyebilir ve karmaşıklaşabilir. Safari'de okuma listenizi temizleme talimatlarını aşağıda bulabilirsiniz.

Tartışma için bir Telegram grup konusu nasıl oluşturulur

Tartışma için bir Telegram grup konusu nasıl oluşturulur

Telegram grup konuları Telegram grubundaki mesajlardan ayrı olacak ve birden fazla tartışma konusu oluşturabileceksiniz. Aşağıdaki makale Telegram grup konusu oluşturmanıza yardımcı olacaktır.

Tesla bobini elektriği boşaltabilir ve şarkı söyleyebilir

Tesla bobini elektriği boşaltabilir ve şarkı söyleyebilir

Tesla bobini, dahi Nikola Tesla'nın meşhur icadı olan rezonanslı bir transformatör devresi oluşturur. Yüksek voltajlı, düşük yoğunluklu, yüksek frekanslı alternatif akım üretmek için kullanılır... Sadece deşarj değil, zeka ve yaratıcılıkla insan Tesla bobinlerini de şarkı söylettirir.

220 tonluk antik bir binayı 700 sabun kalıbıyla taşımak

220 tonluk antik bir binayı 700 sabun kalıbıyla taşımak

Aralık ayının başlarında, inşaat şirketi S. Rushton, Kanada'nın Nova Scotia eyaletine bağlı Halifax kentinde 220 ton ağırlığındaki eski bir binayı, yaklaşık 700 kalıp sabun "yardımıyla" 9 metre mesafeye başarıyla taşıdı.

Süpersonik motor 19.756 km/saat hıza ulaşıyor

Süpersonik motor 19.756 km/saat hıza ulaşıyor

Çinli hipersonik silah araştırmacıları, uçakların 30 km yükseklikte 19,756 km/s (Mach 16) hızla seyahat etmesini sağlayan dünyanın en güçlü döner patlayıcı motorunu geliştirdi.

Kendinize İngilizce mutlu yıllar dilemek için durum

Kendinize İngilizce mutlu yıllar dilemek için durum

Aşağıda kendinize İngilizce mutlu yıllar dilemek için bazı durumlar bulunmaktadır, kendinize iyi ve anlamlı İngilizce mutlu yıllar dilekleri lütfen bunlara bakın.

1 litre kaç ml, kg, m3tür?

1 litre kaç ml, kg, m3tür?

1kg kaç ml'dir? 1ml kaç kg'a eşittir? Gelin bu ağırlık birimlerini nasıl dönüştüreceğimizi öğrenelim!

Yapay zeka hayvan çevirisi, insanların köpek havlamasını anlamasına yardımcı oluyor

Yapay zeka hayvan çevirisi, insanların köpek havlamasını anlamasına yardımcı oluyor

Yapay zeka (YZ) sayesinde, insanların hayvan dilini anlayabilmesi gibi bir film hayali yakında gerçeğe dönüşebilir.

Telefonunuzdaki kamera ayarları ne işe yarar?

Telefonunuzdaki kamera ayarları ne işe yarar?

Her bir özelliğin ne işe yaradığını bilmek, iyi bir fotoğraf ile harika bir fotoğraf arasındaki farkı yaratabilir.

OpenAI, Geliştiricilerin AI Aracıları Oluşturmasına Yardımcı Olacak Yeni Bir Araç Başlattı

OpenAI, Geliştiricilerin AI Aracıları Oluşturmasına Yardımcı Olacak Yeni Bir Araç Başlattı

Yapay zeka sektörünün geleceğinin yapay zeka ajanları olduğunu düşünen OpenAI, mevcut araçlarla güçlü, "endüstriyel düzeyde" ajanlar oluşturmanın çok zor olduğunu kabul ediyor.

Pocket Casts: En İyi Podcast Uygulaması Artık Masaüstünde Ücretsiz

Pocket Casts: En İyi Podcast Uygulaması Artık Masaüstünde Ücretsiz

Podcast hayranları için harika bir haberimiz var. Pocket Casts şu anda web üzerinden ve Mac ile Windows uygulamaları üzerinden ücretsiz olarak kullanılabiliyor.

Ay yüzeyindeki Blue Ghost iniş aracının ilk görüntülerini görün

Ay yüzeyindeki Blue Ghost iniş aracının ilk görüntülerini görün

Bu hafta sonu Ay'a Mavi Hayalet iniş aracının ulaşmasıyla birlikte, dünyanın dört bir yanındaki gökbilimciler, gezegenimizin doğal uydusuna dair gerçekten sürükleyici ve hatta benzeri görülmemiş bir bakış açısı sağlayacak bir dizi çarpıcı yeni görüntüyü merakla bekliyorlar.

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.

Hacklenen Facebook şifresi ve kaybolan kayıt e-postası nasıl geri alınır

Hacklenen Facebook şifresi ve kaybolan kayıt e-postası nasıl geri alınır

Facebook kullanırken bazen hesabınız hacklenebilir, şifreniz kaybolabilir, hatta Facebook kayıt e-postanız bile kaybolabilir. Peki hem şifrenizi hem de kayıt e-postanızı kaybettiğinizde Facebook hesabınızı nasıl geri alabilirsiniz?