2013-05-09 105 views
2

在Go crypto \ cipher包中,类型StreamWriter具有Close()方法。从实现中,它看起来就像调用基础的io.Writer的Close()方法。我的问题是:是否有任何情况下我应该调用此方法,而不是直接调用底层Writer的Close()方法?如何在StreamWriter中使用Close()方法

回答

1

不,调用StreamWriter的close方法并调用底层writer的close方法是完全一样的。它只是在那里,所以StreamWriter将实现io.WriteCloser接口。

这只是因为这种方法存在,该类型可以用作io.WriteCloser。

+0

这也在[代码中](https://code.google.com/p/go/source/browse/src/pkg/crypto/cipher/io.go?name=release-branch。 go1.1#46)。不过,我建议调用'StreamWriter.Close',因为'StreamWriter'可能会在将来分配资源,直接在writer上调用'Close'时不会被释放。 – nemo 2013-05-09 11:22:25

相关问题