Go 語言是一款非常強大的編程語言,其支持多種數據類型,其中之一就是結構體。結構體是將不同屬性組合在一起,形成一個完整的數據類型。在 Go 語言中,我們可以使用 json 格式對結構體進行序列化和反序列化。
type Person struct { Name string `json:"name"` Age int `json:"age"` Address string `json:"address"` } func main() { p := Person{Name: "John", Age: 30, Address: "123 Main St."} // 序列化為 json 格式 data, err := json.Marshal(p) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(data)) // 反序列化 json 格式 var p2 Person err = json.Unmarshal(data, &p2) if err != nil { fmt.Println("Error:", err) return } fmt.Println(p2.Name, p2.Age, p2.Address) }
在上面的代碼中,我們定義了一個名為 Person 的結構體,它包含三個屬性:Name、Age 和 Address。接著,我們定義了一個 main 函數,其中我們創建了一個名為 p 的 Person 對象,并將其序列化為 json 格式。我們使用 json.Marshal 函數將 p 序列化為 json 格式的字節數組,并在控制臺打印出來。
接著,我們將序列化后的字節數組反序列化為變量 p2 中,并在控制臺打印出其屬性的值。我們使用 json.Unmarshal 函數將字節數組反序列化為 p2 變量,并檢查是否有錯誤發生。
上面的代碼演示了如何在 Go 語言中使用結構體和 json 格式實現對象序列化和反序列化。這是一個非常有用的技能,可以幫助您在編寫網絡應用或使用 RESTful API 時有效地傳遞數據。