go map 变量的本质是一个指针

package main

import "fmt"

func main() {
	//map是引用类型
	//map 变量的本质是一个指针,指向 hmap 结构体
	var mytest1 map[string]int = map[string]int{"a": 1, "b": 2, "c": 3}
	fmt.Println("mytest1其实是一个指针,指向:", &mytest1)
	fmt.Printf("mytest1 :底层数组地址%p-----变量mytest1地址%p\n", mytest1, &mytest1) // m : 0xc0000c2450
	mytest2 := mytest1
	fmt.Println("mytest2其实是一个指针,指向:", &mytest2)
	mytest2["a"] = 4
	fmt.Println(mytest2["a"], mytest1["a"])
	fmt.Printf("mytest2:底层数组地址%p-----变量mytest2地址%p\n", mytest2, &mytest2) // m : 0xc0000c2450
}

运行结果如下:

mytest1其实是一个指针,指向: &map[a:1 b:2 c:3]
mytest2其实是一个指针,指向: &map[a:1 b:2 c:3]
4 4
mytest2:底层数组地址0xc00006e4b0-----变量mytest2地址0xc00000a038

自我激励名言:吾虽无百里之才,进一步有一步的欢喜。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值