要么我必须像这样写一个int16:
delay := uint16(200)
buf = new(bytes.Buffer)
err = binary.Write(buf, encoding, delay)
if err != nil {
panic(fmt.Sprint("binary.Write failed:", err))
}
_, _ = writer.Write(buf.Bytes())
...或者和int64,像这样:
nbObjects := uint64(len(myArray))
buf = new(bytes.Buffer)
err = binary.Write(buf, encoding, nbObjects)
_, _ = writer.Write(buf.Bytes())
..或类似的字符串:
now := []byte(time.Now().Format("2006-01-02T15:04:05-0700"))
buf = new(bytes.Buffer)
err = binary.Write(buf, encoding, now)
if err != nil {
panic(fmt.Sprint("binary.Write failed:", err))
}
_, _ = writer.Write(buf.Bytes())
我可能有很多事情要做,但相同的“共享”代码总是:
buf = new(bytes.Buffer)
err = binary.Write(buf, encoding, [my variable])
if err != nil {
panic(fmt.Sprint("binary.Write failed:", err))
}
_, _ = writer.Write(buf.Bytes())
有没有办法“概括”这一点,从而拥有这样的“最终”代码:
uint16(200).write(writer, encoding)
uint64(len(myArray)).write(writer, encoding)
[]byte(time.Now().Format("2006-01-02T15:04:05-0700")).write(writer, encoding)
(也许这是不可能的,我只是想知道我是否必须在每次必须编写一些东西时复制/粘贴我的代码writer())
千巷猫影
相关分类