引用看此文https://blog.csdn.net/weixin_43292547/article/details/126677650
//对象
func main() {
var cat animal
cat.age=1
cat.length=1.4
cat.name="neko"
cat2:=cat
cat3:=&cat
cat.name="kitty"
fmt.Println(cat) //{kitty 1 1.4}
fmt.Println(cat2) // {neko 1 1.4}
fmt.Println(*cat3) // {kitty 1 1.4}
}
func main() {
cat:= new(animal)
cat2:=cat
(*cat).age=22
cat.name="巴黎"
// cat["age"]=22 //报错
fmt.Println(*cat) // {巴黎 22 0}
fmt.Println(*cat2) // {巴黎 22 0}
}
func main() {
cat:= animal{"name",9,1.1}
cat2:=&cat
cat.name="巴黎"
fmt.Println(cat) // {巴黎 9 1.1}
fmt.Println(*cat2) // {巴黎 9 1.1}
}
type animal struct {
name string
age int8
length float32
}
//数组
func main() {
var cat=[]int{1,2,3,4,5}
cat2:=cat
cat3:=&cat
cat[2]=222
fmt.Println(cat) // [1 2 222 4 5]
fmt.Println(cat2) // [1 2 222 4 5]
fmt.Println(*cat3) // [1 2 222 4 5]
}
//map
func main() {
cat:= make(map[string]string)
cat [ "name" ] = "巴黎"
cat [ "age" ] = "11"
cat2:=cat
cat3:=&cat
cat["age"]="22"
fmt.Println(cat) // map[age:22 name:巴黎]
fmt.Println(cat2) // map[age:22 name:巴黎]
fmt.Println(*cat3) // map[age:22 name:巴黎]
}