登录
首页 >  Golang >  Go问答

Golang在net包下的Pipe方法怎么用?

来源:SegmentFault

时间:2023-01-22 17:11:52 234浏览 收藏

本篇文章向大家介绍《Golang在net包下的Pipe方法怎么用?》,主要包括go,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

官方文档就说了

func Pipe() (Conn, Conn)
Pipe创建一个内存中的同步、全双工网络连接。连接的两端都实现了Conn接口。一端的读取对应另一端的写入,直接将数据在两端之间作拷贝;没有内部缓冲。

具体这个是怎么用啊?起什么作用?

正确答案

可以参考io下的Pipe(), io下的Pipe()是单向的,一端的读取匹配另一端的写入,直接在这两端之间复制数据。而net下的Pipe()是双向的,也就是说返回的Conn既可以读也可以写,通常用于不同区域的代码之间相互传递数据。

func Pipe() (Conn, Conn) {
    r1, w1 := io.Pipe()
    r2, w2 := io.Pipe()

    return &pipe{r1, w2}, &pipe{r2, w1}
}

type pipe struct {
    *io.PipeReader
    *io.PipeWriter
}

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表