diff options
author | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-06-19 10:08:17 +0900 |
---|---|---|
committer | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-06-19 10:09:38 +0900 |
commit | 145598a5c00bb3cdec425160884de9b4070eb98b (patch) | |
tree | ffba3384eb8e6cf2dfd5d8f3496f3e6a55f352bb /serialize.go | |
parent | 57088ceb79dbbc000d187fa67400a9390e113b05 (diff) | |
download | kati-145598a5c00bb3cdec425160884de9b4070eb98b.tar.gz |
reduce string -> []byte conversion in Write and w.Write([]byte{x})
use io.WriteString(w, str) instead of w.Write([]byte(str))
use writeByte(w, b) instead of w.Write([]byte{b})
Diffstat (limited to 'serialize.go')
-rw-r--r-- | serialize.go | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/serialize.go b/serialize.go index fbcbed0..8ed60d2 100644 --- a/serialize.go +++ b/serialize.go @@ -46,36 +46,35 @@ const ( ValueTypeTmpval = 't' ) -func dumpData(w io.Writer, data []byte) { - for len(data) != 0 { - written, err := w.Write(data) - if err == io.EOF { - return - } - if err != nil { - panic(err) - } - data = data[written:] - } -} - func dumpInt(w io.Writer, i int) { v := int32(i) - binary.Write(w, binary.LittleEndian, &v) + err := binary.Write(w, binary.LittleEndian, &v) + if err != nil { + panic(err) + } } func dumpString(w io.Writer, s string) { dumpInt(w, len(s)) - dumpData(w, []byte(s)) + _, err := io.WriteString(w, s) + if err != nil { + panic(err) + } } func dumpBytes(w io.Writer, b []byte) { dumpInt(w, len(b)) - dumpData(w, b) + _, err := w.Write(b) + if err != nil { + panic(err) + } } func dumpByte(w io.Writer, b byte) { - w.Write([]byte{b}) + err := writeByte(w, b) + if err != nil { + panic(err) + } } type SerializableVar struct { |