Alireza Shamsi
Alireza Shamsi
خواندن ۲ دقیقه·۶ سال پیش

7.آموزش GO با مثال (شرط switch)

عبارات Switch شروطی با شاخه های زیاد و و صریح هستند.

package main import "fmt" import "time" func main() {

اینجا یه switch پایه داریم:

i := 2 fmt.Print("Write ", i, " as ") switch i { case 1: fmt.Println("one") case 2: fmt.Println("two") case 3: fmt.Println("three") }

شما میتونید چند تا شرط رو با علامت کاما "," در یک case از هم جدا کنید. در این مثال ما از گزینه اختیاریdefault به خوبی نمایش دادیم که درصورت برقرار نبودن شرط case اجرا میشود.

switch time.Now().Weekday() { case time.Saturday, time.Sunday: fmt.Println("It's the weekend") default: fmt.Println("It's a weekday") }

شرط switch بدون یک عبارت میتونه جایگزین صریحی برای شرط if/else باشه. اینجا همچنین ما نشون میدیم که چجوری شروط case میتونن غیر-ثابت باشن.

t := time.Now() switch { case t.Hour() < 12: fmt.Println("It's before noon") default: fmt.Println("It's after noon") }

یک type switch میتونه نوع داده یا متغیر رو مقایسه کنه. شما میتونید با این روش نوع داده و مقدار خودتونو رو کشف کنید. در این مثال متغییر t یکی از شرط های عبارت سوییچ مارو دارا هست.

whatAmI := func(i interface{}) { switch t := i.(type) { case bool: fmt.Println("I'm a bool") case int: fmt.Println("I'm an int") default: fmt.Printf("Don't know type %T\n", t) } } whatAmI(true) whatAmI(1) whatAmI("hey") }

اجرای این برنامه

$ go run switch.go Write 2 as two It's a weekday It's after noon I'm a bool I'm an int Don't know type string

<<شرط if/else------------------------------------------آرایه ها>>

gogolang
در جست و جوی خود
مستندات زبان گولنگ به پارسی(GO)
شاید از این پست‌ها خوشتان بیاید