1. 程式人生 > >Go語言學習筆記-流程控制(二)

Go語言學習筆記-流程控制(二)

Go語言流程控制

字典型別Map

1、上節遺留:map字典型別

  • 變數宣告:var myMap map[string] PersonInfo
  • 其中,myMap是變數名,string是鍵的型別,PersonInfo是存放的值型別

2、建立map:make()

例子: `myMap = make(map([string] PersionInfo))`

3、建立並初始化:

`myMap = map[string] PersionInfo{
    "1234": PersionInfo{"1","wkk"},
}`

4、map賦值:myMap["1234"] = PersonInfo{"1", "wkk"}

5、刪除map元素:delete()函式刪除

`delete(myMap, "1234")`

6、從map中查詢某個元素:

`程式碼就是這個:
    value, ok := myMap["1234"]
    if ok{  //代表找到了value
        //再做關於value的邏輯操作
        ...
    }
`

流程控制

1、條件語句

關鍵字:if、else、else if
注意:在有返回值的函式中,不能把return語句放在if...else...結構中,否則編輯失敗

2、選擇語句

關鍵字:switch、case、和select(channel通道用)
注意點: 單個case中可以有多個值
        每一個case後邊不需要break來跳出當前case,後邊的case也就不會再執行
        在當前case中明確出現‘fallthrough’時,才會執行下一個緊跟的case
        switch後可以不跟表示式,作用等同於if...else...

3、迴圈語句

關鍵字:for和range
注意:Go語言的迴圈只支援for
例子:
    package main
    import "fmt"
    func main()  {
        sum := 0
        for i :=0 ;i < 3; i++ {
            sum += i;
        }
        fmt.Println( sum)
    }
    //執行時,進入當前目錄,go run **.go

4、跳轉語句

關鍵字:goto:跳轉到某個標籤處
例子:
    func myFunc(){
        i := 0
        HERE:
        fmt.PrintLn(i)
        i++
        if i <10 {
            goto HERE     //跳轉到函式內的goto標籤處
        }
    }