Turkish Golang Tutorial Guide #8 : Switch Statement
Hi everyone, this is a Turkish tutorial content about Golang (Go) programming language. It will be a contet serial abut this language. This post will be about Switch Statement. So, thank you for reading!
- Check this : Turkish Golang Tutorial Guide #7 : Structures
Switch Durumu
source
Aslında Switch'i if-else'den sonra anlatmam gerekirdi fakat unuttuğumu farkedince geçde olsa bahsini yapmış olalım dedim. Switch, bir ifadeyi değerlendiren ve olası eşleşmelerin bir listesiyle karşılaştıran ve eşlemeye göre kod bloklarını yürüten koşullu bir deyimdir. Birden çok if ifadesi yazmanın pratik bir yolu olarak düşünülebilir. Ufak bir örnek vermek gerekirse:
func main() {
finger := 4
switch finger {
case 1:
fmt.Println("SMT")
case 2:
fmt.Println("Utopian")
case 3:
fmt.Println("Sndbox")
case 4:
fmt.Println("DTube")
}
}
Yukarıdaki programda switch, finger değerini her bir vaka ifadesi ile karşılaştırır. Durumlar üstten alta doğru değerlendirilir ve ifadeyle eşleşen ilk durum gerçekleştirilir. Bizim durumda finger 4 değerine sahiptir ve dolayısıyla DTube yazdırır.
Bu örnekte ise alacağımız çıktı:
Excellent!
Your grade is A
şeklinde olur. Arada tebrik almak lazım, insanı şevklendirir yaptığı iş için :) Yani switch-case'in olayı koşul döngüsünü daha pratik ve hızlı bir şekilde işletmesi diyebiliriz. Genel yazım şablonu ise şöyle:
switch(boolean-expression or integral type){
case boolean-expression or integral type :
statement(s);
case boolean-expression or integral type :
statement(s);
default :
statement(s);
}
Burada dikkat edilmesi gereken noktalardan biri ise switch tanımlarken integer veya boolan tipi değerler kullanmamız gerekiyor olması. Yani bir switch deyiminde kullanılan ifade, integral veya boolean ifadesine sahip olmalı veya sınıfın, bir integral veya boolean değerine tek bir dönüştürme işlevine sahip olduğu bir sınıf türüne sahip olmalıdır.
Ayrıca bir switch ifadesinde, isteğe bağlı bir default değer öbeği olabilir, bu da switch'in sonunda olmalı. Default durum, hiçbir durum doğru değilken bir görevi yerine getirmek için kullanılabilir. Default durumda herhangi bir mola gerekmez. Ufak bir örnekte bunun için verelim.
func main() {
switch finger := 8; finger {
case 1:
fmt.Println("Bitcoin")
case 2:
fmt.Println("Ether")
case 3:
fmt.Println("Steem")
case 4:
fmt.Println("BCC")
case 5:
fmt.Println("QTUM")
default:
fmt.Println("incorrect finger number")
}
}
Burada gördüğünüz gibi finger değeri 8 iken 8 tane case durumu olmadığı için çıktı olarak alakasız finger değeri tarzında bir hata mesajı döndürdük. Switch'in olayı da bu şekilde genel olarak. Çoklu if-else kullanmamız gereken veya hesap makinesi tarzı menü içeriği isteyen uygulamalarda switch kullanımı yaygın ve avantajlıdır.
Posted on Utopian.io - Rewarding Open Source Contributors
teşekkürler yararlı içerik
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Hey @monomyth I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x