1 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
傳遞以進(jìn)行編碼和解碼:&PKG
func Send(enc *gob.Encoder, PKG interface{}) error {
// Pass &PKG to force encoder to send PKG as a dynamic value.
err := enc.Encode(&PKG)
return err
}
func Receive(dec *gob.Decoder) (PKG interface{}) {
// Pass address of result.
err := dec.Decode(&PKG)
if err != nil {
fmt.Println(PKG)
log.Fatal(err, "Error receiving Package")
}
if PKG == nil {
fmt.Println(PKG)
log.Fatal(err, "Receiving empty Package")
}
return PKG
}
解碼端應(yīng)該去掉。注冊(cè)傳遞給 Send 的所有可能類型的值。將此代碼用于 iota 示例:
gob.Register(COORDINATOR) // any value of type ProcessType works.
在 Playground 上運(yùn)行代碼。
- 1 回答
- 0 關(guān)注
- 115 瀏覽
添加回答
舉報(bào)