go语言学习日记 - 指针

指针


首先我们来了解下什么是指针:一个指针变量可以指向任何一个值的内存地址,它所指向的值的内存地址在 32 和 64 位机器上分别占用 4 或 8 个字节,占用字节的大小与所指向的值的大小无关。当一个指针被定义后没有分配到任何变量时,它的默认值为 nil。指针变量通常缩写为 ptr。

下面我们用代码来说明指针的特点

import "fmt"

func main(){
	label:="我想毕业"
	ptr:=&label //用&符号获取指针所指向的地址

	label2:=new(string) //用new关键字定义指针
	*label2="算了,我躺了" //用*打开指针所在地址,用于取值和赋值

	res:=testPtr() //可以返回栈上的指针,编译器在编译程序的时候,会自动判断这段代码,将thing变量分配到堆上
}

func testPtr() *string{
	thing:="摸鱼"
	ptr:=&thing
	return ptr
}
posted @ 2021-05-10 21:18  压伤的芦苇  阅读(45)  评论(0编辑  收藏  举报