Ich habe ein Setup, wo ich Daten über das Netzwerk und serialisieren es in meine Struktur. Es funktioniert gut, aber jetzt muss ich die Daten zu einem Schnittpuffer serialisieren, um es über das Netzwerk zu senden.Serialize struct Felder zu vor vorhandenen Stück von Bytes
Ich versuche zu vermeiden, mehr als erforderlich zu reservieren, so habe ich bereits einen Puffer eingerichtet, die ich gerne für alle meine Serialisierung schreiben würde. Aber ich bin mir nicht sicher, wie ich das machen soll.
Mein Setup ist wie folgt:
recieveBuffer := make([]byte, 1500)
header := recieveBuffer[0:1]
message := recieveBuffer[1:]
So Felder Ich versuche, aus einer Struktur für header
-message
und die Gesamtzahl der Bytes für alle Felder als Wert zu schreiben.
Dies war, wie ich auf die Struktur deserialisiert:
// Deserialize ...
func (userSession *UserSession) Deserialize(message []byte) {
userSession.UID = int64(binary.LittleEndian.Uint32(message[0:4]))
userSession.UUID = string(message[4:40])
userSession.Username = string(message[40:])
}
ich nicht wirklich wissen, wie man das Gegenteil davon zu tun, aber. Ist es möglich, ohne Puffer für jedes Feld zu erstellen, das ich vor dem Kopieren auf message
serialisieren möchte?