Go io.ReadCloser的使用
请有人解释或/和分享应在何时以及为什么显式关闭读卡器的示例,即实现io.ReadCloser,而不仅仅是io.Reader。例如,当您处理文件或任何应关闭以释放分配的资源或内存的资源时,例如为您的资源,例如,从Go调用C代码。 您可以在拥有Read和Close方法时使用它,该示例显示您可以使用一个通用函数来使用io处理不同的类型。ReadCloser: 运行并输入12345作为输入,输出:Go io.ReadCloser的使用,go,io,Go,Io,请有人解释或/和分享应在何时以及为什么显式关闭读卡器的示例,即实现io.ReadCloser,而不仅仅是io.Reader。例如,当您处理文件或任何应关闭以释放分配的资源或内存的资源时,例如为您的资源,例如,从Go调用C代码。 您可以在拥有Read和Close方法时使用它,该示例显示您可以使用一个通用函数来使用io处理不同的类型。ReadCloser: 运行并输入12345作为输入,输出: pack 12345 1234 另见: 这是为了明确定义阅读器和更紧密的界面。假设您编写了一些读取数据的
pack
12345
1234
另见:
这是为了明确定义阅读器和更紧密的界面。假设您编写了一些读取数据的功能,但您还希望在再次这样做之后关闭资源,以避免泄漏描述符
func ...(r io.ReaderCloser) {
defer r.Close()
... // some reading
}
您传入的任何内容都需要定义两个接口,即os.File或任何自定义结构。在这种情况下,您将强制API的客户端定义读取和关闭接口实现,而不仅仅是io.Reader。任何时候您都需要关闭读卡器。
func ...(r io.ReaderCloser) {
defer r.Close()
... // some reading
}