返回

使用 JSON 实现 io.WriterTo

发布时间:2022-08-28 21:44:48 337
# json

我最近发现了这个很酷的界面,io.WriterTo:

https://godocs.io/io

我想为一些JSON对象实现它。我能够做到这一点:

package calendar

import (
   "bytes"
   "encoding/json"
   "io"
)

type date struct {
   Month int
   Day int
}

func (d date) WriteTo(w io.Writer) (int64, error) {
   buf := new(bytes.Buffer)
   err := json.NewEncoder(buf).Encode(d)
   if err != nil {
      return 0, err
   }
   return buf.WriteTo(w)
}

但我认为这并不理想,因为它会在发送给 Writer 之前在内存中复制对象。是不是可以直接写,还要知道写了多少字节?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像