package main
import (
"encoding/json"
"io"
"log"
"net/http"
)
type Person struct {
Name string
Age int
Addr string
}
func main() {
person := Person{
Name: "Tom",
Age: 26,
Addr: "Beijing",
}
pr, pw := io.Pipe()
go func() {
defer func() {
_ = pw.Close()
}()
if err := json.NewEncoder(pw).Encode(person); err != nil {
log.Fatalf("failed to marshal data:%s", err.Error())
}
}()
resp, err := http.Post("https://httpbin.org/post", "application/json;chartset=utf8", pr)
if err != nil {
log.Fatalf("failed to post data:%s", err.Error())
return
}
defer func() {
_ = resp.Body.Close()
}()
data, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatalf("failed to read data from resp body:%s", err.Error())
return
}
log.Printf("resp data:%s", data)
}
Go 使用 io.Pipe()
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 读取文件,同时计算多组 Hash 值,包括:md5、sha1、sha256、HMACSHA256、HMACSHA5...
- 管道(pipe) 管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功...
- scp -r root@192.168.5.41:/home/heweiwei/drmsd_python3 ./ ...