我有一个io.Reader不需要关闭:
stringReader := strings.NewReader("shiny!")
Run Code Online (Sandbox Code Playgroud)
我想把它传递给一个接收一个的方法 io.ReadCloser
func readAndClose(source io.ReadCloser) {
...
}
Run Code Online (Sandbox Code Playgroud)
如何io.Reader在io.ReadCloser没有专门创建实现该Close方法的结构的情况下将其转换为a ?
noa*_*amt 18
如果你确定你io.Reader不需要任何实际关闭,你可以用一个包裹它ioutil.NopCloser.
来自godoc:
NopCloser返回一个ReadCloser,其中包含一个无操作的Close方法,用于包装提供的Reader r.
所以我们可以应用它:
stringReader := strings.NewReader("shiny!")
stringReadCloser := ioutil.NopCloser(stringReader)
Run Code Online (Sandbox Code Playgroud)