golang指针(golang指针与非指针接收器)

什么是指针

golang中,指针是一个存储变量内存地址的变量。可以通过解除指针对变量内存地址的引用来访问该地址中存储的值。由于指针包含了变量的内存地址,因此可以通过修改指针的值来更改变量的值。golang引入了指针类型,以便程序员更好地控制内存

指针的声明与使用

在golang中,要声明一个指针,请使用一个星号(*)放在类型前面。例如,要声明一个指向整数的指针,可以使用以下代码:

var p *int;

该代码声明了一个名为p的指针,它可以指向整数类型的变量。指针的值可以通过使用“&”运算符来获取现有变量的地址。例如,假设我们有一个整数变量n:

n := 42

我们可以使用以下代码获取变量n的地址:

ptr := &n

现在,指针变量“ptr”的值是变量n的地址。我们可以使用星号(*)运算符来解除指针对变量内存地址的引用并访问该地址中的值:

fmt.Println(*ptr)

上述代码将输出变量n的值,即“42”。

指针与函数

函数可以接受指针作为参数,以便可以通过指针更改函数外部的变量。例如,以下函数使用指针修改变量的值:

func changeValue(ptr *int) {

    *ptr = 100

}

该函数接受一个指向整数的指针,并将该指针引用的变量的值更改为100。可以将函数与指针一起使用,以便在程序中更好地控制内存和更改变量的值。

在golang中,指针可以是强大而高效的编程工具,但是如果不妥善使用,也可能导致程序崩溃或其他问题。因此,使用指针时请务必小心。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-4p0mo.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年5月2日 上午1:44
下一篇 2023年5月2日 上午1:44

猜你喜欢