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

go結構體包含json

老白1年前8瀏覽0評論

Go語言中的結構體是一種非常重要的數據類型,它可以用來定義一組相關的屬性,從而實現更加復雜的數據結構。同時,Go語言還擁有非常方便的JSON序列化和反序列化功能,可以將結構體對象轉換成JSON字符串,或者將JSON字符串轉換成結構體對象。這使得Go語言在Web和云計算等領域中得到廣泛的應用。

type Person struct {
Name  string `json:"name"`
Age   int    `json:"age"`
Email string `json:"email,omitempty"`
}
func main() {
p := Person{
Name: "張三",
Age: 24,
}
jsonBytes, _ := json.Marshal(p)
jsonString := string(jsonBytes)
fmt.Println(jsonString)
jsonString2 := `{"name":"李四","age":26}`
var p2 Person
json.Unmarshal([]byte(jsonString2), &p2)
fmt.Println(p2)
}

在上面的代碼中,我們定義了一個結構體Person,包括Name、Age和Email三個屬性。這里使用反引號來表示屬性的Tag,Tag中的json選項表示該屬性在JSON字符串中對應的字段名。注意,如果屬性的Tag中指定了omitempty選項,則當該屬性的值為空時,不會在JSON字符串中輸出該字段。在main函數中,我們創建了一個Person對象p,并將其轉換成了JSON字符串,然后再將該字符串轉換成了Person對象p2。在轉換過程中使用了json.Marshal和json.Unmarshal函數,前者用于將結構體對象轉換成JSON字符串,后者用于將JSON字符串轉換成結構體對象。通過這種方式,我們可以方便地在Go語言中處理JSON數據。