<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國際加速解決方案。 廣告
                # **從通道接收數據** 這小節,你將了解到如何從通道讀取數據。你可以執行 `<-c` 從名為 `c` 的通道讀取一個值。如此,箭頭方向是從通道到外部。 我將使用名為 `readCh.go` 的程序幫你理解怎樣從通道讀取數據,并它分為三部分介紹。 `readCh.go` 的第一段代碼如下: ```go package main import ( "fmt" "time" ) func writeToChannel(c chan int, x int) { fmt.Println("l", x) c <- x close(c) fmt.Println("2", x) } ``` `writeToChannel()` 函數的實現與之前一樣。 `readCh.go` 的第二部分如下: ```go func main() { c := make(chan int) go writeToChannel(c, 10) time.Sleep(1 * time.Second) fmt.Println("Read:", <-c) time.Sleep(1 * time.Second) ``` 上面的代碼,使用 `<-c` 語法從 `c` 通道讀取數據。如果你想要保存數據到名為 `k` 的變量而不只是打印它的話,你可以使用 `k := <-c` 表達式。第二個 `time.Sleep(1 * time.Second)` 語句給你時間來讀取通道數據。 `readCh.go` 的最后一段代碼如下: ```go _, ok := <-c if ok { fmt.Println("Channel is open!") } else { fmt.Println("Channel is closed!") } } ``` 從上面的代碼,你能看到一個判斷一個通道是打開還是關閉的技巧。當通道關閉時表明當前代碼運行的還不錯。但是,如果通道被打開,這里的代碼就會丟棄從通道讀取的值,因為在 `_, ok := <-c` 語句中使用了 `_` 字符。如果你也想在通道打開時讀取通道的值,就使用一個有意義的變量名代替 `_`。 執行 `readCh.go` 產生如下輸出: ```shell $ go run readCh.go 1 10 Read: 10 2 10 Channel is closed! $ go run readCh.go 1 10 2 10 Read: 10 Channel is closed! ``` 盡管輸出不確定,但 `writeToChannel()` 函數的兩個 `fmt->Println(x)` 表達式都被執行了,因為當你從通道讀取數據時,它就被解除阻塞了。 >Bryan: 我的實驗結果是第一個結果出現的概率大些。
                  <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>

                              哎呀哎呀视频在线观看