Latest web development tutorials

Aller déclaration de changement de langue

Allez les instructions conditionnelles de langue Allez les instructions conditionnelles de langue

instruction switch est utilisé pour effectuer des actions différentes en fonction des conditions différentes, chaque cas est la branche unique, de haut en bas testés individuellement jusqu'à correspondance. .

instruction Switch exécute le processus de haut en bas, jusqu'à ce qu'une correspondance est trouvée, celle-ci n'a pas besoin de faire correspondre la rupture, plus

grammaire

Syntaxe Go instruction switch du langage de programmation est la suivante:

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

la variable Var1 peut être de tout type, et val1 et val2 peut être une valeur du même type. Type ne se limite pas à une constante ou un nombre entier, mais il doit être du même type, ou le résultat final est le même type d'expression.

Vous pouvez tester simultanément la valeur potentiellement éligibles multiple, les diviser par une virgule, par exemple: cas val1, val2, val3.

Organigramme:

Exemples

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 );      
}

Le code ci-dessus est exécutée à la suite de:

优秀!
你的等级是 A

Type Commutateur

instruction switch peut également être utilisé pour la variable de type commutateur pour déterminer le type d'une interface variable effectivement stockée.

Syntaxe Type de commutateur est la suivante:

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

Exemples

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("未知型")     
   }   
}

Le code ci-dessus est exécutée à la suite de:

x 的类型 :<nil>

Allez les instructions conditionnelles de langue Allez les instructions conditionnelles de langue