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 關注
- 214 瀏覽
添加回答
舉報