博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go语言学习笔记九: 指针
阅读量:5750 次
发布时间:2019-06-18

本文共 692 字,大约阅读时间需要 2 分钟。

Go语言学习笔记九: 指针

指针的概念是当时学C语言时了解的。Go语言的指针感觉与C语言的没啥不同。

指针定义与使用

指针变量是保存内存地址的变量。其他变量保存的是数值,而指针变量保存的是内存地址。这个内存地址可能保存者一个基本数值。

指针变量也是有类型的。它需要知道自己保存的内存地址指向数值的类型,因为不同的数值类型占用的空间大小是不同的。

在指针中有两个重要的符号需要了解: &和。 其中&是用于获取普通变量的地址,而是获取内存地址指向的数值。看起来就是一对反向操作。

另外在声明指针时也要用到,所以在变量声明的时候只是定义指针变量,并不是获取内存地址指向的数值。

package mainimport "fmt"func main() {    var ptr1 *int    var ptr2 *float32    var a int = 10    ptr1 = &a;    fmt.Printf("a变量的地址: %x\n", &a);     fmt.Printf("ptr1变量保存的地址: %x\n", ptr1);    fmt.Printf("ptr1变量地址指向的值: %d\n", *ptr1)        fmt.Printf("ptr2变量的值: %x\n", ptr2)}

空指针

当一个指针被定义后,没有赋值时,它的值为nil。

nil指针被称为空指针。

空指针的判断

if (ptr != nil)if (ptr == nil)

转载于:https://www.cnblogs.com/zhangqunshi/p/8473285.html

你可能感兴趣的文章
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
栈(一)
查看>>
ios 自定义delegate(一)
查看>>
创建美国地区的appleId
查看>>
例题10-2 UVa12169 Disgruntled Judge(拓展欧几里德)
查看>>
JS 原生ajax写法
查看>>
Composer管理PHP依赖关系
查看>>
React.js学习笔记之JSX解读
查看>>
我所了解的Libevent和SEDA架构
查看>>
Socket编程问题小记
查看>>
基于Flask-Angular的项目组网架构与部署
查看>>
一张图道尽程序员的出路
查看>>
redis 常用命令
查看>>
LVS+Keepalived高可用负载均衡集群架构
查看>>
烂泥:kvm安装windows系统蓝屏
查看>>
iPhone开发面试题--葵花宝典
查看>>
EdbMails Convert EDB to PST
查看>>
POJ 2184
查看>>
存储过程简单实例
查看>>
大话 程序猿 眼里的 接口
查看>>