为什么 *bytes.Reader不能作为 *io.Reader的返回值呢?

mztlive · · 2680 次点击
jan-bar
想要拥有,必定付出。
你的想法很危险啊。。为什么要返回`*io.Reader`,可以看看go源码里面基本都是返回`io.Reader`。对接口取指针没啥意义吧。
#3
更多评论
1、实现Read方法的是结构体指针`*bytes.Reader` 2、接口指针应该没撒意义吧,返回值不能为`io.Reader`?(个人粗浅认识) ``` func Test1() io.Reader{ return &bytes.Reader{} } func Test2() *io.Reader{ reader:=io.Reader(&bytes.Reader{}) return &reader } ```
#1
r:=ioReader(bytes.Reader([]byte{1,2,3}) ) return &r
#2