在Go中,TCP连接(net.Conn)是io.ReadWriteCloser。我想通过模拟TCP连接来测试我的网络代码。我有两个要求:
是否有数据结构或简单的方法?
为什么不使用bytes.Buffer?它是一种io.ReadWriter并且具有String获取存储数据的方法。如果需要将其设置为io.ReadWriteCloser,则可以定义自己的类型:
bytes.Buffer
io.ReadWriter
String
io.ReadWriteCloser
type CloseableBuffer struct { bytes.Buffer }
并定义一个Close方法:
Close
func (b *CloseableBuffer) Close() error { return nil }