文章目录
前言
众所周知,指针是创建一个链表结构的基础变量,也是c语言中的核心内容,为什么他有如此大的魅力呢,首当其冲应该是他的灵活性,他的灵活性可谓使其无所不能,使用指针也有一定的坏处,因为指针会破坏数据的封装性,今天介绍一下在go语言中如何使用指针变量。
一、指针是什么?
指针是一个变量,该变量内存储的是一个对象的地址,可以通过指针变量对指向的对象进行操作。
二、在Go语言中如何是实用使用指针
1.声明一个指针变量
代码如下(示例):
Go语言在指针没有指向的时候,指针存储的值为nil 多级指针可以理解为一个数组指针(可以指向一个数组) //普通变量 a := 888 //一级指针 var p *int //二级指针 var p1 **int //多级指针 var p2 ***int
2.对指针变量赋值
代码如下(示例):
var q *int p = &a p1 = &p p2 = &p1
3.指针数组的声明方式
代码如下(示例):
var 数组名 [10]*int (声明了一个包含10个元素的数组,每一个位置存储一个int类型的地址) • 1
4.指针类型做函数参数(交换数值案例)
代码如下(示例):
交换两个int数据的值 //进行值传递(交换失败) func swapTwo(a, b int) { a, b = b, a } //指针传递(交换成功) func swapOne(a, b *int) { *a, *b = *b, *a }
总结
以上就是本篇博客分享的内容,Go语言之指针使用与c语言有些类似,合理的使用指针可以事半功倍。多级指针操作哈弗曼树非常的方便。感兴趣的小伙伴可以尝试一下。