gpt4 book ai didi

Golang io.Pipe 与 node.js 管道

转载 作者:IT王子 更新时间:2023-10-29 02:34:17 30 4
gpt4 key购买 nike

我是 golang 的新手,我在理解 go 的 io.Pipe 时遇到了问题。这类似于 node.js 的 .pipe 吗?我应该如何使用它?是否可以将它与 1 个读取文件和一个写入文件一起使用?

提前谢谢大家。

最佳答案

不,它们并不完全相似。 io.Copy(dat io.Writer, src io.Reader) 足以读写文件,如下所示:

input := bufio.NewReader(os.Stdin)
output := bufio.NewWriter(os.Stdout) // buffer output like C stdlib
io.Copy(output, input) // copy entire file
output.Flush()

io.Pipe() (*PipeReader, *PipeWriter) 将在您拥有 时为您生成管道 ReaderWriter不是他们而是代码期望他们,像这样:

type id struct{
name string
age int
}

payload := id{"John", 25}
requestBody, jsonPayload := io.Pipe()
request := http.NewRequest("POST". "http://www.example.com", requestBody) // NewRequest expect io.Reader
encoder := json.NewEncoder(jsonPayload) // NewEncoder expect io.Writer
err := encoder.Encode(payload)
response, err := client.Do(request)

关于Golang io.Pipe 与 node.js 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27994368/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com