golang学习笔记004--指针

1.基本介绍

● 基本数据类型,变量存的就是值,也叫值类型
● 获取变量的地址,用&
● 指针类型,指针变量存的是一个地址,这个地址指向的空间存的才是值
● 获取指针类型所指向的值,使用*

	var i int = 10
	fmt.Println("i的地址=",&i)//i的地址= 0xc0000120a8
	
	var ptr *int = &i
	//ptr 是一个指针变量
	//ptr 的类型是 *int
	//ptr 本身的值 &i
	//*ptr 取指向的地址的值
	fmt.Printf("ptr=%v\n",ptr)//ptr=0xc0000120a8
	fmt.Printf("ptr 的地址=%v\n",&ptr)//ptr 的地址=0xc000006030
	fmt.Printf("ptr 指向的值=%v\n",*ptr)//ptr 指向的值=10

在这里插入图片描述

2.使用细节

● 值类型都有对应的指针类型,形式为 *数据类型
● 值类型包括:基本数据类型int系列,float系列,bool,string,数组和结构体struct

3.值类型和引用类型

● 值类型:基本数据类型int系列,float系列,bool,string,数组和结构体struct
  ○ 值类型:变量直接存储值,内存通常在栈中分配
● 引用类型:指针,slice切片,map,管道channal,interface
  ○ 引用类型:变量存储的是一个地址,这个地址对应的空间才是真正存储的数据,内存通常在堆中分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成了一个垃圾,由GC来回收
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值