Latest web development tutorials

الذهاب بيان التبديل لغة

الذهاب العبارات الشرطية لغة الذهاب العبارات الشرطية لغة

يستخدم بيان التبديل لتنفيذ إجراءات مختلفة على أساس ظروف مختلفة، كل حالة فرع فريدة من نوعها، من أعلى وأسفل اختبارها بشكل فردي حتى المباراة. .

بيان التبديل ينفذ عملية من أعلى إلى أسفل، حتى يتم العثور على تطابق لا يحتاج هذا الأخير لمباراة كسر زائد

قواعد

جملة العودة بيان التبديل لغة البرمجة هي كما يلي:

switch var1 {
    case val1:
        ...
    case val2:
        ...
    default:
        ...
}

VAR1 متغير يمكن أن يكون من أي نوع، وVAL1 وVAL2 قد تكون أي قيمة من نفس النوع. نوع لا يقتصر على ثابت أو عدد صحيح، ولكن يجب أن يكون من نفس النوع، أو النتيجة النهائية هي نفس النوع من التعبير.

يمكنك اختبار في وقت واحد متعددة القيمة قد تكون مؤهلة، وتقسيم بينها بفاصلة، على سبيل المثال: حالة VAL1، VAL2، val3.

مخطط:

أمثلة

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var grade string = "B"
   var marks int = 90

   switch marks {
      case 90: grade = "A"
      case 80: grade = "B"
      case 50,60,70 : grade = "C"
      default: grade = "D"  
   }

   switch {
      case grade == "A" :
         fmt.Printf("优秀!\n" )     
      case grade == "B", grade == "C" :
         fmt.Printf("良好\n" )      
      case grade == "D" :
         fmt.Printf("及格\n" )      
      case grade == "F":
         fmt.Printf("不及格\n" )
      default:
         fmt.Printf("差\n" );
   }
   fmt.Printf("你的等级是 %s\n", grade );      
}

يتم تنفيذ التعليمات البرمجية أعلاه نتيجة ل:

优秀!
你的等级是 A

تبديل نوع

ويمكن أيضا بيان التبديل استخدامها لمتغير نوع التبديل لتحديد نوع واجهة متغير المخزنة في الواقع.

تركيب نوع التبديل هو على النحو التالي:

switch x.(type){
    case type:
       statement(s);      
    case type:
       statement(s); 
    /* 你可以定义任意个数的case */
    default: /* 可选 */
       statement(s);
}

أمثلة

package main

import "fmt"

func main() {
   var x interface{}
     
   switch i := x.(type) {
      case nil:	  
         fmt.Printf(" x 的类型 :%T",i)                
      case int:	  
         fmt.Printf("x 是 int 型")                       
      case float64:
         fmt.Printf("x 是 float64 型")           
      case func(int) float64:
         fmt.Printf("x 是 func(int) 型")                      
      case bool, string:
         fmt.Printf("x 是 bool 或 string 型" )       
      default:
         fmt.Printf("未知型")     
   }   
}

يتم تنفيذ التعليمات البرمجية أعلاه نتيجة ل:

x 的类型 :<nil>

الذهاب العبارات الشرطية لغة الذهاب العبارات الشرطية لغة