AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
### 概述1 每个变量有两层含义:变量的值和变量的地址. * 默认值nil,没有NULL常量 * 操作符"&"取变量地址,"*"通过指针访问目标对象 * 采用"."访问目标成员 * 切记,不要给空指针进行赋值 ### 概述2 一个指针的值是另一个**变量**的**地址**.一个指针对应变量在内存中的存储位置.并不是每一个值都会又一个内存地址,但是对于每一个变量必然又对应的内存地址.通过指针,我们可以直接读取或更新对应变量的值,而不需要知道该变量的名字(如果变量有名字的话) 指针没有特别的地方,相对于普通变量,普通变量存放的是值,指针存放的是地址.就这么简单. ~~~ func main() { num := 10 fmt.Println(10) fmt.Printf("%p",&num) } ~~~ ~~~ 10 0xc420014080 //内存地址 ~~~ ### 声明指针 ~~~ func main() { num := 10 fmt.Println(10) var p *int //声明一个指针类型 fmt.Println(p) //空指针 p = &num fmt.Println(p) *p = 100 //将指针*p指向的变量num赋值为100 fmt.Println(num) } ~~~ ~~~ 10 <nil> 0xc420092008 100 ~~~