<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國際加速解決方案。 廣告
                ## 操做Unix系統下的pipe管道 將一個程序的輸出傳遞給另一個程序的輸入時,Unix管道很有用。 例如: ``` echo "test case" | wc -l 1 ``` 在Go應用程序中,可以使用os.Stdin讀入管道的左側,并像文件描述符一樣工作。為了證明這一點,本節將在管道的左側進行輸入并返回單詞列表及其出現次數。這些單詞將以空白為分隔標記。 ### 實踐 1. 建立 pipes.go: ``` package main import ( "bufio" "fmt" "io" "os" ) // WordCount 獲取一個io.Reader并返回一個map,每個單詞作為一個鍵,它的出現次數為對應的值 func WordCount(f io.Reader) map[string]int { result := make(map[string]int) // 建立scanner處理文件io.Reader接口 scanner := bufio.NewScanner(f) scanner.Split(bufio.ScanWords) for scanner.Scan() { result[scanner.Text()]++ } if err := scanner.Err(); err != nil { fmt.Fprintln(os.Stderr, "reading input:", err) } return result } func main() { fmt.Printf("string: number_of_occurrences\n\n") for key, value := range WordCount(os.Stdin) { fmt.Printf("%s: %d\n", key, value) } } ``` 2. 運行: ``` echo "some string" | go run pipes.go ``` 3. 多執行一些輸入: ``` $ echo "test case" | go run pipes.go string: number_of_occurrences test: 1 case: 1 $ echo "test case test" | go run pipes.go string: number_of_occurrences test: 2 case: 1 ``` ### 說明 在go中使用管道非常簡單,特別是如果你熟悉使用I/O接口。例如第1章 I/O 和文件系統中的管道配方創建應用程序(https//en.wikipedia.org/wiki/Tee_(command)),其中所有管道輸入都會立即寫入到標準輸出和文件。 本節使用scanner來標記os.Stdin對象的io.Reader接口。請注意在完成所有讀取后必須檢查錯誤。 * * * * 學識淺薄,錯誤在所難免。歡迎在群中就本書提出修改意見,以饗后來者,長風拜謝。 Golang中國(211938256) beego實戰(258969317) Go實踐(386056972)
                  <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>

                              哎呀哎呀视频在线观看