上一節提到了go語言中的if/else結構,但是條件過多的時候就不適合用if語句了,這個時候我們就可以使用switch語句了。
switch 是乙個條件語句,用於將乙個表示式的求值結果與可能的值的列表進行匹配,並根據匹配結果執行相應的**。可以認為 switch 語句是編寫多個 if-else 子句的替代方式。
有以下性質:
1.switch 表示式不需要為常量,甚至不需要為整數,case 是按照從上到下的順序進行求值,直到找到匹配的。如果 switch 沒有表示式,則對 true 進行匹配。因此,可以按照語言習慣將 if-else-if-else 鏈寫成乙個 switch。
2.switch 預設情況下 case 最後自帶 break 語句,匹配成功後就不會執行其他 case,但是如果我們想匹配成功後繼續執行後面的 case,可以使用 fallthrough 來解決這個問題 。
switch var1
乙個基本的switch語句
num := 10
switch num
switch後面接前面定義的變數,同時case後面的表示式的型別要和switch後面的一致。
這裡因為num等於10,所以會匹配case 10的那個分支並執行分支內的內容,然後跳出switch結構。
switch後面還可以什麼也不加,如果switch後面沒有表示式,則預設為表示式為true,按照上面的經驗可知,下面對應的case後面也要是bool型別。
switch
另外乙個情況,同樣的如果switch後面沒有表示式,case還可以接表示式。
b := 18
switch
因為case後面的表示式最終結果也是布林型別的。
如果想在乙個case匹配成功之後,繼續匹配其他的case區域,可以使用fallthrough
var a = "hello"
switch a
你會發現它會列印出 hello dj 666。
還可以在case後面加多個值,通過逗號間隔開
var a = "hello"
switch a
這裡我們只介紹了switch的基本用法,當學了介面之後我們再去了解switch的另外一種用法-型別 switch。 2020 6 7上機實踐 用if語句實現分支結構
一 問題及 檔名稱 main.c 作 者 李先聲 完成日期 2020年6月7日 版 本 號 v1.0 問題描述 輸入乙個數,判斷它能否被3或者被5整除。如至少能被這兩個數中的一 個整除,則將此數列印出來,否則不列印。include int main else return 0 檔名稱 main.c ...
PN結是什麼?PN結有什麼特徵?PN結的應用
pn結學習思維導圖 在看接下來的內容之前,我們先看看本文的思維導圖。首先對pn結的定義及原理進行分析。了解原理之後,來分析學習它的特徵,有了原理特徵當然是要應用了。是不是有點晦澀?學習就是要逐漸理解那些晦澀的定義,好了進入主題。我們首先拿出來一塊矽 鍺 片 本徵半導體 靈光一閃我們就在這個矽片上確定...
關於PN結
一直以來,我對pn的形成中的幾個細節耿耿於懷。最近和乙個小夥伴討論後,更加深了認識。對於半導體而言,載流子的概念讓人感到迷糊。對於n型半導體,比如在si基里摻雜p原子,此時p原子外層有9個電子,其中的1個就會比較自由,可以移動,這很好理解。而p型半導體就不怎麼好理解,摻入了b原子後,由於除了4個共價...