1、结构体字段可见性

结构体中字段大写开头表示可公开访问小写表示私有(仅在定义当前结构体的包中可访问)。

2.结构体与JSON序列化

"":,

1.序列化:go语言中的结构体变量 -->json格式的字符串

2.反序列化:json格式的字符串 -->go语言能识别的结构体变量

package main

import (
	"encoding/json"
	"fmt"
)

type person struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	p1 := person{
		Name: "嘟嘟",
		Age:  3,
	}
	b, err := json.Marshal(p1)
	if err != nil {
		fmt.Printf("marshal failed,err:%v", err)
		return
	}
	fmt.Printf("%#v\n", string(b))
	//反序列化
	str := `{"name":"一一","age":2}`
	var p2 person
	json.Unmarshal([]byte(str), &p2)
	fmt.Printf("%#v\n", p2)
	fmt.Println(p2)

}