1 回答

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
所以答案很簡(jiǎn)單。encoder我們?cè)诤瘮?shù)中創(chuàng)建一個(gè)新的SerializeRow而不是創(chuàng)建一次。我們把它從函數(shù)中拉出來(lái)并創(chuàng)建了一個(gè)全局的。
var (
encoder = gob.NewEncoder(&RowsTableBuffer)
decoder = gob.NewDecoder(&RowsTableBuffer)
)
func SerializeRow(r Row) {
err := encoder.Encode(r)
if err != nil {
log.Println("encode error:", err)
}
}
func DeserializeRow() {
var rows Row
err := decoder.Decode(&rows)
for err == nil {
if err != nil {
log.Fatal("decode error:", err)
}
fmt.Printf("%d %s %s\n", rows.ID, rows.Username, rows.Email)
err = decoder.Decode(&rows)
}
}
- 1 回答
- 0 關(guān)注
- 112 瀏覽
添加回答
舉報(bào)