go語言學習小記10

2021-08-21 19:45:26 字數 1630 閱讀 9248

相比較 c 而言,go中的 switch 結構使用上更加靈活。它接受任意形式的表示式:

switch var1
變數 var1 可以是任何型別,而 val1 和 val2 則可以是同型別的任意值。型別不被侷限於常量或整數,但必須是相同的型別;或者最終結果為相同型別的表示式。前花括號並且:

switch i
在case ...:
語句之後,不需要使用花括號將多行語句括起來,但可以在分支中進行任意形式的編碼。當**塊只有一行時,可以直接放置在case語句之後。

同樣可以使用return語句來提前結束**塊的執行。在 switch 語句塊中使用return語句,並且函式是有返回值的,還需要在 switch 之後新增相應的return語句以確保函式始終會返回。

可選的default分支可以出現在任何順序,但最好將它放在最後。它的作用類似與if-else語句中的else,表示不符合任何已給出條件時,執行相關語句。

示例 1.1 switch1.go:

package main

import "fmt"

func main()

}

輸出:

it's equal to 100
我們會使用 switch 語句判斷從鍵盤輸入的字元,switch 語句的第二種形式是不提供任何被判斷的值(實際上預設為判斷是否為 true),然後在每個 case 分支中進行測試不同的條件。當任一分支的測試結果為 true 時,該分支的**會被執行。這看起來非常像鏈式的if-else語句,但是在測試條件非常多的情況下,提供了可讀性更好的書寫方式。

switch
例如:

switch
任何支援進行相等判斷的型別都可以作為測試表示式的條件,包括 int、string、指標等。

示例 1.2witch2.go:

package main

import "fmt"

func main()

}

輸出:

number is between 0 and 10
switch 語句的第三種形式是包含乙個初始化語句:

switch initialization
這種形式可以進行條件判斷:

switch result := calculate();
在下面這個**片段中,變數 a 和 b 被平行初始化,然後作為判斷條件:

switch a, b := x[i], y[j];

GO語言學習

sudo apt get install golang但是用ubuntu的庫安裝有幾個不好的地方 因此建議不要使用ubuntu的庫安裝golang環境 golang社群的安裝指導 wget tar c usr local zxf go1.6.2.linux amd64.tar.gz設定環境變數,修改...

Go語言學習

執行 go run go main函式 打包 go build 用於測試編譯包,在專案目錄下生成可執行檔案 有main包 go install 主要用來生成庫和工具。一是編譯包檔案 無main包 將編譯後的包檔案放到 pkg 目錄下 gopath pkg 二是編譯生成可執行檔案 有main包 將可執...

Go語言學習九 Go語言指標

go 語言中指標是很容易學習的,go 語言中使用指標可以更簡單的執行一些任務。接下來讓我們來一步步學習 go 語言指標。我們都知道,變數是一種使用方便的佔位符,用於引用計算機記憶體位址。go 語言的取位址符是 放到乙個變數前使用就會返回相應變數的記憶體位址。package main import f...