色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go type struct json

阮建安1年前9瀏覽0評論

在Go語言中,可以使用struct結構體來定義一些自定義類型。當我們需要將這些自定義類型轉換為JSON格式時,可以使用 Go 自帶的 encoding/json 包。

struct 結構體中的字段在轉換為 JSON 格式時,遵循以下規則:

  • 字段名首字母必須大寫,以便將其導出,否則編碼器無法訪問該字段。
  • 字段名后面的標記是“json”,它定義了該字段在 JSON 中的名稱。
  • 如果一個字段的值是零值,則不會在生成的 JSON 中添加該字段。
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}

上面的代碼定義了一個 Person 結構體,其中包含 Name 和 Age 兩個字段,它們都被標記為 json。在將此結構體轉換為 JSON 格式時,Name 和 Age 字段將分別映射到 name 和 age 屬性。

Go 中的 json.Unmarshal() 函數可以用來將 JSON 文本解碼為相應的結構體類型,如下所示:

package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
text := `{"name": "Tom", "age": 30}`
var p Person
if err := json.Unmarshal([]byte(text), &p); err != nil {
fmt.Println("error:", err)
return
}
fmt.Println(p.Name, p.Age)
}

在上面的代碼中,我們創建了一個名為 text 的 JSON 字符串,該字符串包含了名為 Name 和 Age 的兩個屬性。然后,在將 JSON 對象解碼為 Person 結構體時,我們使用了 json.Unmarshal() 函數。最后,我們將解碼后的 Person 對象中的 Name 和 Age 字段打印到控制臺上。