<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                for、switch 或 select 語句都可以配合標簽(label)形式的標識符使用,即某一行第一個以冒號(`:`)結尾的單詞(gofmt 會將后續代碼自動移至下一行)。 示例 5.13?[for6.go](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/examples/chapter_5/for6.go): (標簽的名稱是大小寫敏感的,為了提升可讀性,一般建議使用全部大寫字母) ~~~ package main import "fmt" func main() { LABEL1: for i := 0; i <= 5; i++ { for j := 0; j <= 5; j++ { if j == 4 { continue LABEL1 } fmt.Printf("i is: %d, and j is: %d\n", i, j) } } } ~~~ 本例中,continue 語句指向 LABEL1,當執行到該語句的時候,就會跳轉到 LABEL1 標簽的位置。 您可以看到當 j==4 和 j==5 的時候,沒有任何輸出:標簽的作用對象為外部循環,因此 i 會直接變成下一個循環的值,而此時 j 的值就被重設為 0,即它的初始值。如果將 continue 改為 break,則不會只退出內層循環,而是直接退出外層循環了。另外,還可以使用 goto 語句和標簽配合使用來模擬循環。 示例 5.14?[goto.go](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/examples/chapter_5/goto.go): ~~~ package main func main() { i:=0 HERE: print(i) i++ if i==5 { return } goto HERE } ~~~ 上面的代碼會輸出?`01234`。 使用逆向的 goto 會很快導致意大利面條式的代碼,所以不應當使用而選擇更好的替代方案。 **特別注意**?使用標簽和 goto 語句是不被鼓勵的:它們會很快導致非常糟糕的程序設計,而且總有更加可讀的替代方案來實現相同的需求。 一個建議使用 goto 語句的示例會在第 15.1 章的 simple_tcp_server.go 中出現:示例中在發生讀取錯誤時,使用 goto 來跳出無限讀取循環并關閉相應的客戶端鏈接。 定義但未使用標簽會導致編譯錯誤:`label … defined and not used`。 如果您必須使用 goto,應當只使用正序的標簽(標簽位于 goto 語句之后),但注意標簽和 goto 語句之間不能出現定義新變量的語句,否則會導致編譯失敗。 示例 5.15?[goto2.go](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/examples/chapter_5/got2o.go): ~~~ // compile error goto2.go:8: goto TARGET jumps over declaration of b at goto2.go:8 package main import "fmt" func main() { a := 1 goto TARGET // compile error b := 9 TARGET: b += a fmt.Printf("a is %v *** b is %v", a, b) } ~~~ **問題 5.3**?請描述下面 for 循環的輸出: 1. ~~~ i := 0 for { //since there are no checks, this is an infinite loop if i >= 3 { break } //break out of this for loop when this condition is met fmt.Println("Value of i is:", i) i++; } fmt.Println("A statement just after for loop.") ~~~ 2. ~~~ for i := 0; i<7 ; i++ { if i%2 == 0 { continue } fmt.Println("Odd:", i) } ~~~
                  <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>

                              哎呀哎呀视频在线观看