请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于io.Reader接口的问题

https://img1.sycdn.imooc.com//szimg/5fd9adb309d7e97c06140115.jpg

Reader接口是要求实现这个接口

https://img1.sycdn.imooc.com/szimg/5fd9adec095cadb609700515.jpg

我这里也是的确实现了这个接口,但是当给printFileContents传参数是报错如下

https://img1.sycdn.imooc.com//szimg/5fd9ae1e094ce31311940132.jpg

是我那个地方写的有问题嘛

正在回答

1回答

它出错信息说这个类型是func() int,而不是我们这里定义的inGen。

需要写成

var f intGen = fibonacci()


0 回复 有任何疑惑可以回复我~
  • 提问者 CoderTh #1
    非常感谢!解决了!
    回复 有任何疑惑可以回复我~ 2020-12-16 21:02:00
  • 类型intGen和 " func() int"不是相同的吗,go为什么判断这是两个东西。我看视频里不需要声明intGen类型而直接使用 f := fibonacci()的方法可行,是因为go语言版本问题?
    回复 有任何疑惑可以回复我~ 2021-10-31 15:29:30
  • 不会是版本问题,go的各个版本承诺编译上的兼容性,很少会有因为版本而编译不过的情况。
    func() int 和intGen严格来说是不同的,func() int没有Read方法,而intGen有。但go的编译器给我们提供了很多方便,比如我们需要intGen参数的时候,可以传入func() int,需要func() int参数时,我们可以传入intGen。但这里当作Reader接口使用的时候,编译器没有提供我们直接使用,需要我们显示转换。
    回复 有任何疑惑可以回复我~ 2021-11-02 21:32:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信