GO

GO — تک حالت (Single-case)

آخرین بروزرسانی: 1404/08/14

تک حالت (Single-case)

گاهی چند مقدار نتیجه ای یکسان دارند. با «case تک حالت» چند مقدار را در یک حالت می گذاریم. مثل نمره های 18 و 19 و 20 که همگی «عالی» هستند.

سینتکس case با چند مقدار

در Go می توانی چند مقدار را با ویرگول در یک case بنویسی.

switch expr {
  case x, y:
    // وقتی expr برابر x یا y است
  case v, w:
    // وقتی expr برابر v یا w است
  default:
    // وقتی هیچ case مطابق نیست
}

مشاهده در ادیتور

مثال: گروه بندی روزهای هفته

روزهای فرد، زوج، و آخرهفته را با یک سوئیچ گروه بندی می کنیم.

package main
import (
  "fmt"
)

func main() {
  day := 5
  switch day {
    case 1, 3, 5:
      fmt.Println("Odd weekday")
    case 2, 4:
      fmt.Println("Even weekday")
    case 6, 7:
      fmt.Println("Weekend")
    default:
      fmt.Println("Invalid day of day number")
  }
}

مشاهده در ادیتور

گام های عملی

  1. یک متغیر (Variable) مقدار بده.
  2. سوئیچ را روی همان متغیر بنویس.
  3. مقدارهای هم معنا را در یک case فهرست کن.

نکته: این روش، ifهای تکراری را کم می کند و کد خواناتر می شود.

برای مرور «سوئیچ» صفحه سوئیچ را ببین. همچنین توضیح کامل همین روش را در تک حالت دنبال کن.

جمع بندی سریع

  • چند مقدار را در یک case بنویس.
  • ویرگول بین مقدارها لازم است.
  • default مسیر امن برنامه است.
  • کد کوتاه تر و منظم تر می شود.