深入剖析Go語言程式設計中switch語句的使用

2022-09-24 21:15:12 字數 1565 閱讀 9452

switch語句可以讓乙個變數對反對值的列表平等進行測試。每個值被稱為乙個的情況(case),變數被接通檢查每個開關盒(switch case)。

在go程式設計,switch有兩種型別。

表示式switch - 在表示式switch,case包含相比較,switch表示式的值。

型別switch - 在這型別switch,此時含有進行比較特殊註明開關表示式的型別。

表示式switch

在go程式語言中表達switch語句的語法如下:

複製** **如下:

switch(boolean-expression or integral type)

以下規則適用於switch語句:

在switch語句中使用的表示式必須具有整體或布林表示式,或者是乙個型別,其中所述類具有乙個單一的轉換函式,以乙個整體或布林值。如果表達不通過,預設值是true。

可以有任意數量的case語句在switch內。每個case後跟值進行比較,以及乙個冒號。

constant-expression 的情況,必須是相同的資料型別,在switch的變數,它必須是乙個常量或文字。

當變數被接通等於case的值,以下case中將執行語句。在case語句中break不是必需。

switch語句可以有乙個可選預設情況下,它必須出現在開關結束。預設情況下,可用於執行任務時沒有的case為t程式設計客棧rue。則case在預設情況下也不是必須的。

流程圖:

例子:複製** **如下:

package main

import "fmt"

func main()

switch

fmt.printf("your grade is  %s\n", grade );     

}當上述**被編譯和執行時,它產生了以下結果:

well done

excellent!

your grade is a

型別switch

在go程式語言的乙個型別switch語句的語法如下:

複製** **如下:

switch x.(type)

以下規則適用於switch語句:

在switch語句中使用必須有介面的變數表示式{}輸入。

在switch內可以有任意數量case語句。每一種case後跟的值進行比較,以及乙個冒號。

case的型別必須是相同的資料型別,在switch的變數,它必須是乙個有效的資料型別。

當變數被接通等於某一case中的值,以下case語句將執行。在case語句塊的break不是必需的。

switch語句可以有乙個可選預設case,它必須出現在switch的結束。預設情況下,可用於執行任務時沒有匹配case時。default不是必需的。

例子:複製** **如下:

package main

import "fmt"

func main()

switch i := x.(type)   

}讓我們編譯和執行上面的程式,這將產生以下結果:

type of x :

本文標題: 深入剖析go語言程式設計中switch語句的使用

本文位址:

深入解析Go語言程式設計中slice切片結構

陣列轉換成切片 複製 如下 a 10 int fmt.println a s1 a 10 取前10個元素 5 取 5 最後的元素 fmt.println s1 slice測試 複製 如下 a byte sa a 2 5 fmt.println string sa sd1 a 3 5 fmt.prin...

Java併發程式設計 深入剖析ThreadLocal

threadlocal,很多地方叫做執行緒本地變數,也有些地方叫做執行緒本地儲存,其實意思差不多。可能很多朋友都知道threadlocal為變數在每個執行緒中都建立了乙個副本,那麼每個執行緒可以訪問自己內部的副本變數。先了解一下threadlocal類提供的幾個方法 public t get pub...

深入剖析 Python中 init

這裡先宣告兩個概念 類變數 屬於類的變數,和例項無關 例項變數 屬於例項的變數,和類無關 通過這種方式建立的變數屬於當前類,和所有例項都沒有關係。呼叫此型別的類變數時有兩種方式 當使用 類名.變數名 的方式呼叫。使用 例項名.變數名 的方式呼叫,使用此方法是必須保證例項中沒有重名的變數,因為使用 例...