欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Golang 結構體磚json

夏志豪1年前8瀏覽0評論

Go語言的結構體是一種用于存儲不同數據類型的聚合數據類型。它是一種非常靈活和強大的數據類型,可以用于編寫各種類型的程序。

在Go語言中,結構體可以通過Marshal函數將其轉換為JSON格式的字符串,并且可以通過Unmarshal函數將JSON格式的字符串轉換回結構體。這使得Go語言的結構體非常適合用于構建RESTful API。

以下是一個使用結構體轉換為JSON格式字符串的示例:

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
p := Person{Name: "John", Age: 30}
b, err := json.Marshal(p)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(b))
}

在上面的示例中,我們定義了一個包含名稱和年齡字段的Person結構體,并使用json標簽指定這些字段在JSON字符串中的名稱。然后,我們創建一個名為p的Person結構體變量,并使用json.Marshal函數將其轉換為JSON格式的字節數組。

最后,我們使用string函數將字節數組轉換為字符串,并將其打印到控制臺中。輸出結果如下:

{"name":"John","age":30}

下面是一個使用Unmarshal函數將JSON格式字符串轉換為結構體的示例:

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
jsonString := `{"name":"John","age":30}`
var p Person
err := json.Unmarshal([]byte(jsonString), &p)
if err != nil {
log.Fatal(err)
}
fmt.Println(p)
}

在上面的示例中,我們定義了一個名為jsonString的字符串變量,其中包含JSON格式的Person結構體的數據。然后,我們創建一個名為p的Person結構體變量,并使用json.Unmarshal函數將jsonString字符串轉換為結構體。

最后,我們將結構體變量p打印到控制臺中。輸出結果如下:

{Name:John Age:30}

通過使用結構體和JSON格式,Go語言可以方便地進行數據序列化和反序列化。這使得它成為構建API和微服務的理想選擇。