美文网首页工作生活
golang-101-hacks(26)——io.Writer

golang-101-hacks(26)——io.Writer

作者: _羊羽_ | 来源:发表于2019-06-30 17:48 被阅读0次

注:本文是对golang-101-hacks中文翻译

io.Reader 接口相对应的就是 io.Writer接口了

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

io.Reader相比,不需要考虑io.EOF 错误, Write方法很简单:

Compared to io.Reader, since you no need to consider io.EOF error, the process of Writemethod is simple:
err == nil 表示所有数据写入成功
(1) err == nil: All the data in p is written successfully;
(2) ' err != nil ': 表示p 中的数据部分或都没有写入成功。
(2) err != nil: The data in p is partially or not written at all.
查看下面的例子
Let's see an example:

package main

import (
        "log"
        "os"
)

func main() {
        f, err := os.Create("test.txt")
        if err != nil {
                log.Fatal(err)
        }
        defer f.Close()

        if _, err = f.Write([]byte{'H', 'E', 'L', 'L', 'O'}); err != nil {
                log.Fatal(err)
        }
}

执行程序,test.txt 被创建
After executing the program, the test.txt is created:

# cat test.txt
HELLO

相关文章

  • golang-101-hacks(26)——io.Writer

    注:本文是对golang-101-hacks中文翻译 与io.Reader 接口相对应的就是 io.Writer接...

  • io.Writer接口

    new() 相当于一个函数,参数是一个类型,返回值为这类型的指针。

  • io.Writer 解析

    简介 io.Writer 跟 io.Reader 一样,都是 Interface 类型,功能非常强大,在任何需要写...

  • GO-反射

    接口的特色 tty 是*os.File 类型。此类型实现了io.Reader中的Read()和io.Writer(...

  • golang中compress/lzw包

    lzw包中提供压缩和解压两种操作函数列表: (1)压缩func NewWriter(w io.Writer, or...

  • Golang学习 - io/ioutil 包

    // Discard 是一个 io.Writer 接口,调用它的 Write 方法将不做任何事情// 并且始终成功...

  • bufio.Bufio 代码阅读

    bufio 实现了有缓冲的I/O,它包装了一个io.Reader 或 io.Writer 接口对象 Reader ...

  • golang-101-hacks(15)——copy

    注:本文是对golang-101-hacks中文翻译。内置函数copy定义如下: func copy(dst, s...

  • golang-101-hacks(21)——类型断言&类型开关

    注:本文是对golang-101-hacks中文翻译通过类型断言(type assertion)方式来判断接口的具...

  • RotateLogs golang

    这个包主要的结构就是这个,RotateLogs日志的分割主要是实现了io.Writer ,配合一些其它包使用 日志...

网友评论

    本文标题:golang-101-hacks(26)——io.Writer

    本文链接:https://www.haomeiwen.com/subject/oimbcctx.html