3 回答
TA贡献2021条经验 获得超8个赞
你想使用go 库中的encode包。通常我喜欢 JSON 编码,因为它非常易读,但该包支持编码到/从许多格式,包括二进制和gob,这是一种专为您尝试做的事情而设计的格式。
go文档中编码为 json 的示例:
package main
import (
"encoding/json"
"fmt"
"os"
)
func main() {
type ColorGroup struct {
ID int
Name string
Colors []string
}
group := ColorGroup{
ID: 1,
Name: "Reds",
Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
}
b, err := json.Marshal(group)
if err != nil {
fmt.Println("error:", err)
}
os.Stdout.Write(b)
}
go文档中从 json 解码的示例:
package main
import (
"encoding/json"
"fmt"
)
func main() {
var jsonBlob = []byte(`[
{"Name": "Platypus", "Order": "Monotremata"},
{"Name": "Quoll", "Order": "Dasyuromorphia"}
]`)
type Animal struct {
Name string
Order string
}
var animals []Animal
err := json.Unmarshal(jsonBlob, &animals)
if err != nil {
fmt.Println("error:", err)
}
fmt.Printf("%+v", animals)
}
TA贡献1875条经验 获得超5个赞
http.Response 涉及太多,无法转换为字节然后恢复。但是对于简单的结构,您可以考虑使用专为以下目的设计的gob:
要通过网络传输数据结构或将其存储在文件中,必须对其进行编码,然后再次解码。
- 3 回答
- 0 关注
- 190 浏览
添加回答
举报