gogob

How to convert []byte to *bytes.Buffer


I am trying to decode a gob output that I am sending through another fasthttp endpoint and receiving an error Fasthttp endpoint(encode []string through gob) ----> Fasthttp endpoint( receive and decode)

buffer := &bytes.Buffer{}
buffer  = ctx.PostBody()
backToStringSlice := []string{}  
gob.NewDecoder(buffer).Decode(&backToStringSlice)

I am getting error: ctx.PostBody() (type []byte) as type *bytes.Buffer in assignment

how do I convert []byte to *bytes.Buffer.

Any help is appreciated.


Solution

  • NewBuffer will do what you want

    package main
    
    import (
        "fmt"
        "bytes"
    )
    
    func main() {
            foo:=[]byte{65,66,67}
            z:=bytes.NewBuffer(foo)
        fmt.Println("Hello, playground", foo, z)
    }