Latest web development tutorials

Pergi pernyataan switch bahasa

Pergi pernyataan bersyarat bahasa Pergi pernyataan bersyarat bahasa

Pernyataan switch digunakan untuk melakukan tindakan yang berbeda berdasarkan kondisi yang berbeda, setiap kasus adalah cabang yang unik, dari atas dan bawah secara individual diuji sampai pertandingan. .

Saklar pernyataan mengeksekusi proses dari atas ke bawah, sampai kecocokan ditemukan, yang terakhir tidak harus mencocokkan ditambah istirahat

tatabahasa

Sintaks Go pernyataan switch bahasa pemrograman adalah sebagai berikut:

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

variabel var1 dapat dari jenis apa pun, dan VAL1 dan VAL2 mungkin setiap nilai dari jenis yang sama. Jenis tidak terbatas pada konstan atau integer, tapi harus tipe yang sama, atau hasil akhirnya adalah jenis yang sama dari ekspresi.

Anda dapat sekaligus menguji beberapa nilai berpotensi memenuhi syarat, membagi mereka dengan koma, misalnya: kasus VAL1, VAL2, val3.

flowchart:

contoh

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

Kode di atas dijalankan sebagai akibat dari:

优秀!
你的等级是 A

Jenis Beralih

Pernyataan switch juga dapat digunakan untuk jenis variabel-switch untuk menentukan jenis antarmuka variabel sebenarnya disimpan.

Jenis Beralih sintaks adalah sebagai berikut:

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

contoh

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

Kode di atas dijalankan sebagai akibat dari:

x 的类型 :<nil>

Pergi pernyataan bersyarat bahasa Pergi pernyataan bersyarat bahasa