go语言里的指针变量地址和指针变量指向地址

func main() {
    var huige string
	huige = "huihui666"
	huige2 := &huige
	*huige2 = "huihui777"

	for {
		time.Sleep(1 * time.Second)
		println("内容", *huige2)
		println("获取指针变量地址", &huige2)     //该指针变量地址 存储的是8字节 将10进制数值 转换为16进制后等于指针变量所指向地址
		println("获取指针变量所指向地址", &*huige2) //所指向的真实地址
		println("获取指针变量所指向地址", *&huige2) //与上述一样 所指向的真实地址

		println("获取huige内存地址", &huige) //等于 【获取指针变量所指向地址】指针里的地址
	}

}

指针变量是变量就有自身的内存存储,存储的是字节,字节内容是指向的地址

go语言里的指针变量地址和指针变量指向地址_第1张图片

查看指针指向的值

 go语言里的指针变量地址和指针变量指向地址_第2张图片

通过计算器计算指向值的16进制

 go语言里的指针变量地址和指针变量指向地址_第3张图片

刚好等于 指向的地址

go语言里的指针变量地址和指针变量指向地址_第4张图片

 工具可使用 cheat engine去内存查看或搜索或跟踪

go语言里的指针变量地址和指针变量指向地址_第5张图片

也可以使用dbg调试跟踪查看

 

 

你可能感兴趣的:(后端,golang)