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

Kaydolun ve günde 1000 $ kazanın ⋙

Go dilinde select ifadesi switch ifadesine benzer , ancak select ifadesinde case ifadesi kanalda haberleşmeyi, yani gönderme veya alma işlemini ifade eder.

Golang'da seçim ifadeleri kullanılırken bilinmesi gereken durumlar

Sözdizimi:

select{

case SendOrReceive1: // Lệnh
case SendOrReceive2: // Lệnh
case SendOrReceive3: // Lệnh
.......
default: // Lệnh

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 .

Golang'daki çıkmaz dava hakkında bilinmesi gerekenler

Kilitlenme: Bir kanaldan veri okumaya veya yazmaya çalıştığınızda ancak kanal boş olduğunda. Bu sayede goroutine'in mevcut yürütülmesi engellenir ve kontrol diğer goroutine'lere aktarılır, ancak başka bir goroutine mevcut değilse veya bu durumdan dolayı diğer goroutine'ler dinlenme halindeyse program çöker. Bu olguya çıkmaz denir. Aşağıdaki örnekte görüldüğü gibi:

Örneğin:

// Chương trình Go minh hoạc
// cách deadlock phát sinh
package main 

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

	// Tạo một kênh
	// Deadlock phát sinh bởi
	// không có goroutine đang viết
	// vào kênh này, vì thế
	// lệnh select đã bị khóa mãi mãi
	c := make(chan int) 
	select { 
	case <-c: }="" }="">

Sonuç:

fatal error: all goroutines are asleep - deadlock!

goroutine 1 [chan receive]:
main.main()

Bu durumu önlemek için select ifadesinde varsayılan durumu kullanırız. Başka bir deyişle, programda bir çıkmaz oluştuğunda, çıkmazı önlemek için select ifadesinin varsayılan durumu çalıştırılır. Aşağıdaki örnekte olduğu gibi, çıkmaza girmemek için select ifadesinde varsayılan durumu kullanıyoruz.

Örneğin:

// Chương trình Go minh họa cách giải quyết
// vấn đề deadlock bằng case mặc định
package main 

import "fmt"

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

	// Tạo 1 kênh
	c := make(chan int) 
	select { 
	case <-c: default:="" fmt.println("!..="" default="" case..!")="" }="" }="">

Sonuç:

!.. Default case..!

Ayrıca, select ifadesinin yalnızca nil kanalı olduğunda varsayılan durumu kullanmanıza da izin verilir . Aşağıdaki örnekte görüldüğü gibi c kanalı nil olduğundan, burada varsayılan durum mevcut değilse varsayılan durum çalıştırılır, program sonsuza kadar bloke olur ve çıkmaza girilir.

Örneğin:

// Chương trình Go minh họa
// chạy case mặc định
package main 

import "fmt"

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

	// Tạo một kênh
	var c chan int

	select { 
	case x1 := <-c: fmt.println("value:="" ",="" x1)="" default:="" fmt.println("default="" case..!")="" }="" }="">

Sonuç:

Default case..!
Sign up and earn $1000 a day ⋙

Leave a Comment

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.

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.

Golangda aynı adı taşıyan yöntemler

Golangda aynı adı taşıyan yöntemler

Golang, aynı paket içerisinde aynı isimde iki veya daha fazla metot oluşturulmasına izin verir, ancak bu metotların alıcılarının farklı tiplerde olması gerekir.

Godaki Fonksiyonlar

Godaki Fonksiyonlar

Go'da fonksiyonlar, hafızayı korumak, okunabilirliği artırmak ve zamandan tasarruf etmek için program boyunca yeniden kullanılabilen, belirli görevleri gerçekleştiren kod bloklarıdır.

Goda Değişken Kapsamı

Goda Değişken Kapsamı

Golang'da bir değişkenin kapsamı, o değişkenin programda hangi bölümde erişilebilir olduğunu belirler. Go'da tüm tanımlayıcıların derleme zamanında belirlenen bir sözcüksel kapsamı vardır.

Google Play Storeun uygulamaları otomatik olarak güncellememesi sorununu düzeltin

Google Play Storeun uygulamaları otomatik olarak güncellememesi sorununu düzeltin

Play Store uygulamaları otomatik olarak güncellemediğinde, kullanıcılar yeni özellikleri, güvenlik yamalarını ve hata düzeltmelerini kaçırma riskiyle karşı karşıya kalıyor. Neyse ki, bu adımları kullanarak Google Play Store'u uygulamalarınızı otomatik olarak güncelleyecek şekilde yapılandırabilirsiniz.

WiFi Nedir? WiFi nasıl çalışır?

WiFi Nedir? WiFi nasıl çalışır?

WiFi, dünyanın dört bir yanındaki insanların cihazlarını kablosuz olarak internete bağlamak için kullandıkları bir yerel alan ağı ve kablosuz İnternet erişimi biçimidir.

Nintendo, Sanal Oyun Kartları ile dijital oyunların paylaşılma biçiminde devrim yaratıyor

Nintendo, Sanal Oyun Kartları ile dijital oyunların paylaşılma biçiminde devrim yaratıyor

Nintendo, dijital oyunların dağıtım şeklini tamamen değiştirecek bir hamleyle, Nintendo Direct etkinliğinde Sanal Oyun Kartları sistemini resmen tanıttı.

Messengerda telefon ve bilgisayarda dosya gönderme talimatları

Messengerda telefon ve bilgisayarda dosya gönderme talimatları

Messenger'da fotoğraf göndermenin yanı sıra kullanıcılar artık uygulama üzerinden pdf, doc, xlx gibi tüm belge dosya formatlarında dosyaları da başkalarına gönderebilecek.

CapCutta altyazı ve şarkı sözleri otomatik olarak nasıl eklenir

CapCutta altyazı ve şarkı sözleri otomatik olarak nasıl eklenir

CapCut ayrıca bazı ünlü video altyazı uygulamaları gibi videoya altyazı ekleme seçeneğine de sahiptir. Uygulama daha sonra videodaki sesi ve konuşmayı otomatik olarak tanıyor ve videoda gösteriyor.

2,4 GHz ve 5 GHz WiFi arasındaki fark

2,4 GHz ve 5 GHz WiFi arasındaki fark

Eski yönlendiricinizi değiştirmeye karar verdiniz. Yeni kablosuz yönlendiricinizi kutusundan çıkardığınızda neden iki ağ olduğunu merak ediyor olabilirsiniz: 2,4 GHz ve 5 GHz. Peki 5GHz ağı daha mı güçlü? Aralarındaki fark nedir?

Günümüzün en iyi 10 internet güvenlik yazılımı

Günümüzün en iyi 10 internet güvenlik yazılımı

Günümüzde kullanıcılar PC, Mac veya akıllı telefon gibi tüm cihazlarını korumak için ödeme yapabiliyor. Ancak bugün piyasada çok fazla seçenek olduğu için nereden başlayacağınızı bilmek zor olabilir. Aşağıda günümüzde mevcut olan en iyi İnternet güvenlik yazılım paketlerinin bir listesi bulunmaktadır.

Adobe Express dijital sanatçılar ve içerik oluşturucular için neden en iyi araçtır?

Adobe Express dijital sanatçılar ve içerik oluşturucular için neden en iyi araçtır?

Dijital içerik oluşturucular için zengin araçlar sunan Adobe Express, herkes için en iyi hepsi bir arada yaratıcı araçtır ve hiçbir yere kaybolmayacaktır.

Gmaili masaüstü uygulamasına nasıl dönüştürebilirim?

Gmaili masaüstü uygulamasına nasıl dönüştürebilirim?

Gmail'i daha rahat kullanabilmek için, Gmail'i artık manuel olarak erişmenize gerek kalmadan bilgisayarınızda bir uygulamaya dönüştürebilirsiniz.

En son Thien Nhai Minh Nguyet Dao Kodu ve kodun nasıl girileceği

En son Thien Nhai Minh Nguyet Dao Kodu ve kodun nasıl girileceği

Thien Nhai Minh Nguyet Dao Kodu, oyuncuların oyuna ilk katıldıklarında sıkılmamalarına yardımcı oluyor.

Hapicin Neden Favori Ücretsiz Fotoğraf Editörü Olduğunun 7 Nedeni

Hapicin Neden Favori Ücretsiz Fotoğraf Editörü Olduğunun 7 Nedeni

TikTok ve CapCut'ın sahibi ve geliştiricisi olan Hypic, birçok kişinin telefonunda kullandığı bir fotoğraf düzenleme uygulaması ve favori olmasının birçok nedeni var.

Daha ucuz, geri dönüştürülebilir ve patlamayan bir su pili yaratmak

Daha ucuz, geri dönüştürülebilir ve patlamayan bir su pili yaratmak

Melbourne'deki (Avustralya) RMIT Üniversitesi'ndeki bilim insanları, geleneksel pillerde kullanılan tehlikeli kimyasal elektrolitleri suyla değiştirerek geri dönüştürülebilir bir su pili ürettiler.

Ayda bir gün Dünyada kaç gündür?

Ayda bir gün Dünyada kaç gündür?

Ay'ın Dünya etrafındaki dönüş süresi yaklaşık 27,3 gün iken, Dünya'nın kendi ekseni etrafındaki dönüşünü 24 saatte (bir gün - gece) tamamlar.

Küçük balıklar silah sesi kadar yüksek ses çıkarabilir

Küçük balıklar silah sesi kadar yüksek ses çıkarabilir

PNAS dergisinde yayımlanan araştırmaya göre, erkek Danionella cerebrum balıkları yalnızca bir tırnak büyüklüğünde olmasına rağmen 140 desibelin üzerinde ses çıkarabiliyor.

Lien Quan Mobileı oynamak için yapılandırma ve oynamak için bir cihaz seçme

Lien Quan Mobileı oynamak için yapılandırma ve oynamak için bir cihaz seçme

Bu makale, Lien Quan Mobile oynamak için gereken minimum konfigürasyonu açıkça belirtecek ve Lien Quan Mobile oynamak için bir cihaz seçmenize nasıl yardımcı olacağınızı açıklayacaktır.