go interface

简单写了一个类似ReadCloser的东西
其实库函数中有一个ioutil.NopCloser()
不过为了知道interface怎么用

package main

import (
    "fmt"
    "io"
    "strings"
    "io/ioutil"
)

type MyReader struct {
    r io.Reader
}

func (r MyReader)Read(b []byte) ( int,  error){
    return r.r.Read(b)
}

func (r MyReader)Close() error{
    return nil
}

func main(){
    x:="abc"
    var myreader io.ReadCloser=MyReader{strings.NewReader(x)}
    b,e:=ioutil.ReadAll(myreader)
    if(e!=nil){
        fmt.Println(e)
        return
    }
    fmt.Println(string(b))
}

猜你喜欢

转载自blog.csdn.net/harryhare/article/details/80778400