学习Go编程书籍问题:为什么手册中NewReader入参是io.Reader,而此处可以填写file类型为File,如何查看文档

ulysses · 2017-09-12 13:25:47 · 1392 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-09-12 13:25:47 的主题,其中的信息可能已经有所发展或是发生改变。

  • NewReader入参问题
func readValues(infile string)(values []int, err error){
    file, err := os.Open(infile)
    if err != nil{
        fmt.Println("Failed to open the input file ", infile)
        return
    }

    defer file.Close()    //defer语法,一般用于回收资源使用,在函数return之前调用,采用先进后出原则
    br := bufio.NewReader(file)    //为什么手册中入参是Reader,而此处可以填写file类型为File
        ...省略
}

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1392 次点击  
加入收藏 微博
5 回复  |  直到 2017-09-12 14:19:52
channel
channel · #1 · 8年之前

os.File 实现了 io.Reader 接口,自然可以这么用

ulysses
ulysses · #2 · 8年之前

@channel 那我如何通过文档查找到他们之间存在这种关系呢?或者说大神们都是如何使用godoc手册的呢?还有其他手册可以参考吗?

polaris
polaris · #3 · 8年之前
ulysses
ulysses · #4 · 8年之前

@polaris 哦,谢谢指点,之前翻看这个文档没有注意到File类型下边的implement能够展开查看所以忽略了。

ulysses
ulysses · #5 · 8年之前

@channel 了解了,谢谢!

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传