Turkish Golang Tutorial Guide #8 : Switch Statement

in #utopian-io7 years ago (edited)

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!

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

Sort:  

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

  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

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

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 61651.16
ETH 2369.36
USDT 1.00
SBD 2.50