文章目录

  • 前言
  • 一、指针是什么?
  • 二、在Go语言中如何是实用使用指针
    • 1.声明一个指针变量
    • 2.对指针变量赋值
    • 3.指针数组的声明方式
    • 4.指针类型做函数参数(交换数值案例)
  • 总结
    • GO GO GO !

前言

众所周知,指针是创建一个链表结构的基础变量,也是c语言中的核心内容,为什么他有如此大的魅力呢,首当其冲应该是他的灵活性,他的灵活性可谓使其无所不能,使用指针也有一定的坏处,因为指针会破坏数据的封装性,今天介绍一下在go语言中如何使用指针变量。


一、指针是什么?

指针是一个变量,该变量内存储的是一个对象的地址,可以通过指针变量对指向的对象进行操作。

二、在Go语言中如何是实用使用指针

1.声明一个指针变量

代码如下(示例):

Go语言在指针没有指向的时候,指针存储的值为nil
多级指针可以理解为一个数组指针(可以指向一个数组)//普通变量a := 888//一级指针var p *int//二级指针var p1 **int//多级指针var p2 ***int

2.对指针变量赋值

代码如下(示例):

 var q *intp = &ap1 = &pp2 = &p1

3.指针数组的声明方式

代码如下(示例):

 var 数组名 [10]*int    (声明了一个包含10个元素的数组,每一个位置存储一个int类型的地址)

4.指针类型做函数参数(交换数值案例)

代码如下(示例):

交换两个int数据的值//进行值传递(交换失败)func swapTwo(a, b int) {a, b = b, a}//指针传递(交换成功)func swapOne(a, b *int) {*a, *b = *b, *a}

总结

以上就是本篇博客分享的内容,Go语言之指针使用与c语言有些类似,合理的使用指针可以事半功倍。多级指针操作哈弗曼树非常的方便。感兴趣的小伙伴可以尝试一下。



GO GO GO !

go语言如何使用指针?相关推荐

  1. c语言中程序偏离,C语言中的指针加减偏移量

    首先看一段程序: #include int main() { int a[5] = {1, 2, 3, 4, 5}; int* p = (int*)(&a + 1); printf(" ...

  2. 各种语言中对指针的叫法

    如果没有指针,就无法构造正统的数据结构, 因此,比较成熟的.正统的编程语言,必定会存在指针3. 3以前, FORTRAN . COBOL 和BASIC 中 都没有指针,但是在 fortran90.Vi ...

  3. Swift3.0语言教程使用指针创建和初始化字符串

    Swift3.0语言教程使用指针创建和初始化字符串 Swift3.0语言教程使用指针创建和初始化字符串苹果的Swift团队花了不少功夫来支持C的一些基础特性.C语言中为我们提供了指针,Swift也不例 ...

  4. 【C 语言】数组 ( 指针数组用法 | 自我结束能力 )

    文章目录 一.指针数组用法 ( 自我结束能力 ) 二.完整代码示例 一.指针数组用法 ( 自我结束能力 ) 在上一篇博客 [C 语言]数组 ( 指针数组用法 | 命令行参数处理 ) 中的主函数中的 c ...

  5. 【C 语言】二级指针案例 ( 字符串切割 | 返回 自定义二级指针 作为结果 | 每个 一级指针 指向不同大小内存 | 精准分配每个 一级指针 指向的内存大小 )

    文章目录 一.二级指针案例 ( 返回自定义二级指针 | 精准控制内存大小 ) 二.完整代码示例 一.二级指针案例 ( 返回自定义二级指针 | 精准控制内存大小 ) 博客 [C 语言]二级指针案例 ( ...

  6. 【C 语言】二级指针案例 ( 字符串切割 | 返回 自定义二级指针 作为结果 )

    文章目录 一.二级指针案例 ( 返回自定义二级指针 ) 二.完整代码示例 一.二级指针案例 ( 返回自定义二级指针 ) 上一篇博客 [C 语言]二级指针案例 ( 字符串切割 | 返回 二维数组 作为结 ...

  7. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 通过 交换指针指向的内存数据 方式进行排序 )

    文章目录 一.二维指针 排序 ( 通过 交换指针指向的内存数据 方式进行排序 ) 二.完整代码示例 一.二维指针 排序 ( 通过 交换指针指向的内存数据 方式进行排序 ) 在上一篇博客 [C 语言]二 ...

  8. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针 排序 | 通过 交换指针方式 进行排序 )

    文章目录 一.二维指针 排序 ( 通过 交换指针方式 进行排序 ) 二.完整代码示例 一.二维指针 排序 ( 通过 交换指针方式 进行排序 ) 在上一篇博客 [C 语言]二级指针作为输入 ( 二维指针 ...

  9. 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )

    文章目录 一.判定指针合法性 二.数组越界 三.不断修改指针变量值 四.函数中将栈内存数组返回 五.函数间接赋值形参操作 六.指针取值与自增操作 一.判定指针合法性 判定指针合法性时 , 必须进行如下 ...

  10. c语言中指针的类型,学习C语言中的指针类型

    摘要:结合我院学生十年来参加全国计算机等级考试(C语言部分)情况,通过分析成绩分布与题型关系,我们发现指针方面的题型失分率最高.在此基础上结合教学实际,本文提出学习指针知识的方法和顺序过程,并将其应用 ...

最新文章

  1. 2018年,这些信息通信技术将大红大紫
  2. C++ Primer 5th笔记(chap 16 模板和泛型编程)可变参数模板举例
  3. k8s修改端口访问:nodeport暴露的端口范围修改
  4. ruby + phantomjs 自动化测试 - GA
  5. Visual Studio 2019 使用 Live Share
  6. 入门干货之Grpc的.Net 封装-MagicOnion
  7. 如何用普通人能理解的语言解释量子纠缠?
  8. iphone储存空间系统怎么清理_iPhone 储存空间里的“系统”项占用过多怎么办?...
  9. ACL在QinQ port 中的应用
  10. 【VC++类型转换】string转换为CString
  11. Linux SWAP 深度解读
  12. 如何在linux安装gcc,如何在Linux安装gcc
  13. GMS地下水数值模拟
  14. emoji 表情图片解决方法
  15. 通过hx1838遥控数码管显示对应数字的程序及问题
  16. 三维全景融合拼接技术
  17. Moonriver Network与Calamari Network完成XCM集成
  18. 2、Ubuntu介绍加环境搭建详细教程
  19. 除了迅雷,目前还有什么下载软件好用?以下这3款你听过吗?
  20. CPU性能测试基准(EEMBC-CoreMark)

热门文章

  1. 远程桌面连接 提示用户名密码错误的解决办法
  2. 产品设计(1):开源产品设计工具pencil
  3. 框架眼镜不好看戴隐形眼镜,这些情况要注意
  4. Pearson相关分析
  5. c语言中罗马字母数字,C语言程序经典示例—-(22)阿拉伯数字转换为罗马数字...
  6. html买手机的流程图,支付流程图.html
  7. java field.gettype_Java Field getGenericType()用法及代码示例
  8. rtl8139 群晖_黑群辉里的虚拟机安装XP系统,没有网卡怎么传入文件?
  9. JAVA定义矩形类 方法一
  10. FTP上传和下载文件名称中文乱码问题