transport := thrift.NewTMemoryBuffer() protocol := thrift.NewTBinaryProtocolTransport(transport) // Writing data to the buffer buffer := []byte{0xCA, 0xFE, 0xBA, 0xBE} _, err := transport.Write(buffer) if err != nil { log.Fatal(err) } // Reading data from the buffer var length int if length, err = protocol.ReadBinary(nil); err != nil { log.Fatal(err) } // Outputting the length of the binary data read fmt.Printf("Read %d bytes from buffer", length)
type Employee struct { Name string `thrift:"name,1"` Age int32 `thrift:"age,2"` Position string `thrift:"position,3"` } transport := thrift.NewTMemoryBuffer() protocol := thrift.NewTBinaryProtocolTransport(transport) employee := &Employee{ Name: "John Doe", Age: 30, Position: "Manager", } // Encoding the struct into a binary protocol message if err := employee.Write(protocol); err != nil { log.Fatal(err) } // Reading the binary data from the message var length int if length, err = protocol.ReadBinary(nil); err != nil { log.Fatal(err) } // Outputting the length of the binary data read fmt.Printf("Read %d bytes from message", length)This example demonstrates how to use the ReadBinary method to read binary data from a protocol message. It encodes an instance of a struct into a binary protocol message using Write method, then reads the length of the binary data from the protocol message using ReadBinary.