如何将[]byte转换为*bytes.Buffer

15

我正在尝试解码一个通过另一个fasthttp端点发送的gob输出,并收到错误消息 Fasthttp端点(通过gob编码[]string)----> Fasthttp端点(接收并解码)

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

我收到了错误信息:无法将ctx.PostBody()(类型为[]byte)转换为*bytes.Buffer类型的赋值

我该如何将[]byte转换为*bytes.Buffer

非常感谢您的帮助。


7
res := []byte{}; bytes.NewBuffer(res) 的翻译是:res := []byte{}; bytes.NewBuffer(res) - nilsocket
1个回答

17

NewBuffer会做你想要的事情。

package main

import (
    "fmt"
    "bytes"
)

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

哇...我感到很羞愧,竟然要通过谷歌才能解决这个问题,太简单了,谢谢。 - Keith E. Truesdell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接