<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之旅 廣告
                讀和寫是軟件中很普遍的行為,提起它們會立即想到讀寫文件、緩存(比如字節或字符串切片)、標準輸入輸出、標準錯誤以及網絡連接、管道等等,或者讀寫我們的自定義類型。為了是代碼盡可能通用,Go 采取了一致的方式來讀寫數據。 `io`?包提供了用于讀和寫的接口?`io.Reader`?和?`io.Writer`: ~~~ type Reader interface { Read(p []byte) (n int, err error) } type Writer interface { Write(p []byte) (n int, err error) } ~~~ 只要類型實現了讀寫接口,提供?`Read()`?和?`Write`?方法,就可以從它讀取數據,或向它寫入數據。一個對象要是可讀的,它必須實現?`io.Reader`?接口,這個接口只有一個簽名是?`Read(p []byte) (n int, err error)`?的方法,它從調用它的對象上讀取數據,并把讀到的數據放入參數中的字節切片中,然后返回讀取的字節數和一個?`error`?對象,如果沒有錯誤發生返回 'nil',如果已經到達輸入的尾端,會返回?`io.EOF("EOF")`,如果讀取的過程中發生了錯誤,就會返回具體的錯誤信息。類似地,一個對象要是可寫的,它必須實現?`io.Writer`?接口,這個接口也只有一個簽名是?`Write(p []byte) (n int, err error)`?的方法,它將指定字節切片中的數據寫入調用它的對象里,然后返回實際寫入的字節數一個?`error`?對象(如果沒有錯誤發生就是?`nil`)。 `io`?包里的?`Readers`?和?`Writers`?都是不帶緩沖的,`bufio`?包里提供了對應的帶緩沖的操作,在讀寫?`UTF-8`?編碼的文本文件時它們尤其有用。在 第12章 我們會看在實戰使用它們的很多例子。 在實際編程中盡可能的使用這些接口,會使程序變得更通用,可以在任何實現了這些接口的類型上使用讀寫方法。 例如一個?`JPEG`?圖形解碼器,通過一個?`Reader`?參數,它可以解碼來自磁盤、網絡連接或以?`gzip`?壓縮的?`HTTP`?流中的`JPEG`?圖形數據,或者其他任何實現了?`Reader`?接口的對象。 ## [](https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/11.8.md#鏈接)
                  <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>

                              哎呀哎呀视频在线观看