<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 條件語句 ~~~go if a > b { } else { } ~~~ ### 與其他主要編程語?的差異 1. condition 表達式結果必須為布爾值 2. ?持變量賦值: ```go if var declaration; condition { } ``` ## 選擇語句 switch 與其他主要編程語?的差異 1. 條件表達式不限制為常量或者整數; 2. 單個 case 中,可以出現多個結果選項, 使?逗號分隔; 3. 與 C 語?等規則相反, Go 語?不需要?break來明確退出?個 case; 4. 可以不設定 switch 之后的條件表達式,在此種情況下,整個 switch 結 構與多個 if…else… 的邏輯作?等同 ![](https://box.kancloud.cn/b17890a6ed514faddbf5a9a134dad186_351x491.png) * switch 語句基于不同的條件執行不同的動作,每個case分支都是唯一的 * switch 語句從上到下逐一測試,直至匹配為止;如果希望繼續執行下一個case,需要使用**fallthrough** * switch 語句還可用于type-switch來判斷某個interface中實際存儲的變量類型 * 支持初始化表達式,右側需要跟分號 ~~~go switch var { case condition1: code block1 case condition2: code block2 default: code block3 } ~~~ ### 判斷變量類型 ~~~ package main import "fmt" func main() { var test interface{} test = true switch test.(type) { case int: fmt.Print("整型") case string: fmt.Print("字符串") default: fmt.Print("都不是") } } ~~~ ### switch 中含賦值語句和條件 ```go switch os := runtime.GOOS; os { case "darwin": fmt.Println("OS X.”) //break case "linux": fmt.Println("Linux.") default: // freebsd, openbsd, // plan9, windows... fmt.Printf("%s.", os) } ``` ### 實現多個 if ```go switch { case 0 <= Num && Num <= 3: fmt.Printf("0-3") case 4 <= Num && Num <= 6: fmt.Printf("4-6") case 7 <= Num && Num <= 9: fmt.Printf("7-9") } ``` ## 循環語句 for ![](https://gitee.com/echohiyang/markdown-images/raw/master/BsJaPi.jpg) ~~~go # 方式1 無限循環 for true { } for { } ~~~ ~~~ # 方式2 條件循環 for init;condition;increase { } ~~~ ~~~ # 方式3 遍歷數組 package main import "fmt" func main() { a := []string{"a","b","c"} for key,val := range a { fmt.Print(key) fmt.Print(val) fmt.Print("\n") } } ~~~ ~~~ # 方式4 while 條件循環 n := 0 for n < 5 { n++ fmt.Println(n) } ~~~ ## 循環體內的變量每次都是重新生成的 ~~~ package main import "fmt" func main() { for i := 1; i <= 3; i++ { v := 1 fmt.Println(&v) } } ## result 0xc420014060 0xc420014068 0xc420014080 } ~~~ ## 跳轉語句 goto break continue ![](https://gitee.com/echohiyang/markdown-images/raw/master/nmtfkC.jpg) * 這三個語句都可以配合標簽使用 * break和continue配合標簽可以跳出多層循環 * goto是調整位置,與其他兩個語句配合標簽的結果并不相同 ### goto 跳轉到指定語句 ~~~go goto One fmt.Print("middle code") One: fmt.Print("last code") ~~~ ### break 跳出本層循環 ~~~ package main import "fmt" func main(){ LABLE1: for { for i := 1; i <= 10; i++ { if i < 3 { fmt.Println(i) } else { break LABLE1 } } } fmt.Println("break") } ~~~ ### continue 跳出本次循環,進行下一次循環
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看