Latest web development tutorials

Ir declaración de cambio de idioma

Ir sentencias condicionales del lenguaje Ir sentencias condicionales del lenguaje

sentencia switch se utiliza para realizar diferentes acciones sobre la base de condiciones diferentes, cada caso es único rama, desde arriba y abajo hasta que prueba individualmente partido. .

sentencia switch ejecuta el proceso de arriba hacia abajo, hasta que se encuentra una coincidencia, el último no tiene por qué coincidir ruptura más

gramática

Sintaxis Ir sentencia switch lenguaje de programación es el siguiente:

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

la variable var1 puede ser de cualquier tipo, y val1 y val2 puede ser cualquier valor del mismo tipo. Tipo no se limita a una constante o un número entero, sino que debe ser del mismo tipo, o el resultado final es el mismo tipo de expresión.

Se puede probar de forma simultánea múltiples valor potencialmente elegibles, separarlos con una coma, por ejemplo: val1 caso, val2, val3.

Diagrama de flujo:

Ejemplos

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

El código de seguridad se ejecuta como resultado de:

优秀!
你的等级是 A

tipo de interruptor

sentencia switch también se puede utilizar para la variable de tipo conmutador para determinar el tipo de una interfaz de variables efectivamente almacenado.

sintaxis Tipo de interruptor es el siguiente:

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

Ejemplos

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

El código de seguridad se ejecuta como resultado de:

x 的类型 :<nil>

Ir sentencias condicionales del lenguaje Ir sentencias condicionales del lenguaje