go的数组和map默认是地址引用,对象是值引用,和对象初始化

引用看此文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:巴黎]

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值