rithik r
rithik r

Reputation: 191

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.

Upvotes: 15

Views: 18538

Answers (1)

Vorsprung
Vorsprung

Reputation: 34457

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)
}

Upvotes: 17

Related Questions