zoukankan      html  css  js  c++  java
  • golang之输入输出

    Writer 和 Reader 接口

    type Writer interface {
        Write(p []byte) (n int, err error)
    }

    io.Writer接口的声明,接收唯一一个方法Write,这个方法接收一个byte切片,并返回两个值。第一个值是写入的字节数,第二个值是error错误码。

    type Reader interface {
        Read(p []byte) (n int, err error)
    }

    (1)读取数据来填满被传入的byte切片。允许出现读取的字节数小于byte切片的长度,并且如果在读取时已经读到数据但是数据不足以填满byte切片时,不应该等待新数据,而是要直接返回已读数据。

    (2)处理达到文件末尾(EOF)的情况的指导,当读到最后一个字节时,可以有两种选择。一种是Read返回最终读到的字节数,并且返回EOF作为错误值,另一种是返回最终读到的字节数,并返回nil作为错误值。在后一种情况下,下一次读取的时候,由于没有更多的数据可供读取,需要返回0作为读到的字节数,以及EOF作为错误值。

    (3)给调用 Read 的人的建议。任何时候 Read 返回了读取的字节数,都应该优先处理这些读取到的字节,再去检查 EOF 错误值或者其他错误值

    (4)建议 Read方法的实现永远不要返回 0 个读取字节的同时返回 nil 作为错误值。如果没有读到值,Read 应该总是返回一个错误。

    人生就是要不断折腾
  • 相关阅读:
    线程访问ui,托管
    获取当前线程id
    线程访问ui,使用委托方式
    python的reflect反射方法
    python读写Excel文件(xlrd、xlwr)
    基于python+selenium的框架思路(二)
    基于python+selenium的框架思路
    python之sys.argv
    Django ajax方法提交表单,及后端接受数据
    jenkins+checkstyle
  • 原文地址:https://www.cnblogs.com/xiangxiaolin/p/13090100.html
Copyright © 2011-2022 走看看