io.Writer接口

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

package main

import (
    "io"
    "os"
    "fmt"
)

type ByteCounter int

func (b *ByteCounter) Write(p []byte)(int, error)  {
    *b += ByteCounter(len(p))
    return len(p), nil
}

func main() {
    b := new(ByteCounter)
    io.Copy(b, os.Stdin)
    fmt.Println(*b)
}

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 2,406评论 0 4
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 8,304评论 1 52
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    橘之缘之空阅读 23,981评论 9 119
  • 亲爱的张先生: 你好!今天是我们在一起的365天,回想这一年中的点点滴滴,就仿佛还是刚刚一样,我们走了无数次一...
    美天呀阅读 69评论 0 0
  • 上飞机之前,我们除了检查各种行李之外,总会有很多一路上的憧憬,比如看到云海、日出、邻座的颜值等等。不过现实中原来是...
    美时购阅读 137评论 0 0
  • 问君如何做 教人怎样活 潮涨又潮落 阴为也阳谋
    乐善散阅读 116评论 6 3