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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # **通道的寫入** 這小節的代碼將教你怎樣往通道寫入數據。把 `x` 值寫到 `c` 通道,通過 `c <- x` 就可以實現,這非常簡單。這個箭頭表示值的方向,只要 `x` 和 `c` 是相同的類型,用這個表達式就不會有問題。這節的示例保存在 `writeCh.go` 中,并分三部分介紹。 `writeCh.go` 的第一段代碼如下: ```go package main import ( "fmt" "time" ) func writeToChannel(c chan int, x int) { fmt.Println(x) c <- x close(c) fmt.Println(x) } ``` `chan` 關鍵字是用于聲明函數參數 `c` 是一個通道,并且伴隨通道(`int`) 類型。`c <-x` 表達式允許你寫 `x` 值到 `c` 通道,并用`close()` 函數關閉這個通道;那樣就不會再和它通信了。 `writeCh.go` 的第二部分代碼如下: ```go func main() { c := make(chan int) ``` 上面的代碼定義了一個名為 `c` 的通道變量,第一次在這章使用 `make()` 函數和 `chan` 關鍵字。所有的通道都有一個指定的類型。 `writeCh.go` 的其余代碼如下: ```go go writeToChannel(c, 10) time.Sleep(1 * time.Second) } ``` 這里以 goroutine 的方式執行 `writeToChannel()` 函數并調用 `time.Sleep()` 來給 `writeToChannel()` 函數足夠的時間來執行。 執行 `writeCh.go` 將產生如下輸出: ```shell $go run writeCh.go 10 ``` 奇怪的是 `writeToChannel()` 函數只打印了一次給定的值。這是由于第二個 `fmt.Println(x)` 表達式沒有執行。一旦你理解了通道的工作原理,這個原因就非常簡單了:`c <- x` 表達式阻塞了 `writeChannel()` 函數下面的執行,因為沒人讀取 `c` 通道內寫入的值。所以,當 `time.Sleep(1 * time.Second)` 表達式結束的時候,程序沒有等待 `writeChannel()` 就結束了。 下節將說明怎么從通道讀數據。
                  <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>

                              哎呀哎呀视频在线观看