指  针

指针: 存储另一个变量的内存地址的变量; Go语言的取地址符号也是&

1. 声明指针: var needle_name *type

      var b int = 10

      var a *int = &b    // 整型指针a,指向变量b(即存储b的内存地址)

使用 *a 获得其所指向的变量b的值10, 可以通过指针改变变量的值: *a++, 然后b的值就变成了11.

2. 结构体的定义和使用:

type name int8 // 结构体中成员变量的类型可以在结构体定义外指定
type first struct { // 这里的结构体名为first
a int
b bool // bool类型的变量默认值为false
name } var a = first{1, false, 2} // 定义first结构体类型的变量a
a.a = 0
var b *first = &a //定义first类型的指针b     

注意: 此时b.a和(*b).a都可以获取a.a的值 0    !
    而&a的打印结果为: &{0 false 2}        //就是没有逗号comma分隔符!!!

3. 当一个指针被声明但却没有为其赋值时,它就是一个空指针,值为 nil; 一个指针变量通常缩写为 ptr

4. 指针作为参数传递: 因为指针存的是一个变量的地址,所以使用实参指针和形参指针都可以改变变量的值。 虽然可以将数组的地址传递给一个函数的参数(指针数组)并对其进行修改,但这并不是实现这一目标的惯用方法。 我们有切片!!!

5. 指针的指针: var ptr **int   // 则指针 ptr 可以存储另一个指针的地址 (对应 ptr)

最新文章

  1. 项目游戏开发日记 No.0x00000
  2. SpringMvc异常处理
  3. SQL 触发器 instead of | insert
  4. libsvm
  5. javaScript & jquery完美判断图片是否加载完毕
  6. iOS,object-c传参c语言的二维数组
  7. CentOS 6.4源码编译安装httpd并启动测试
  8. git命令中带有特殊符号如@
  9. 【ASP.NET MVC 学习笔记】- 09 Area的使用
  10. Tomcat8.0.11优化相关
  11. Contest1874 - noip基础知识五:动态规划(背包、树dp、记忆化、递推、区间、序列dp、dp优化)
  12. 学号 20175313 《实验三 敏捷开发与XP实践》实验报告
  13. springboot缓存注解——@CachePut
  14. HBuild 连接安卓手机
  15. Java学习笔记之——单例模式
  16. Linux下的搜索查找命令的详解(locate)
  17. Kafka笔记--常用指令(新建、删除topic)
  18. freemarker 获取当前日期
  19. 配置caffe中出现的问题汇总
  20. 2k8 32bit下载

热门文章

  1. 我需要关于fixedFluxPressure边界的解释【翻译】
  2. java四种对象引用类型
  3. Deep & Cross Network总结
  4. 【DOS】取某目录下某类型文件信息放入文本
  5. tornado异步请求响应速度的实例测试
  6. Tosca new project Repository as MS SQL Server
  7. 30 Flutter自定义Dialog
  8. hue集成mysql找不到 libmysqlclient.so.16问题解决
  9. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_13-SpringSecurityOauth2研究-JWT研究-生成JWT令牌&验证JWT令牌
  10. 【423】COMP9024 Revision