c语言编程笔录

首页 >   > 笔记大全

笔记大全

golang 指针用法

更新时间:2023-10-26

前言

在Go语言中,指针是一种非常重要的概念。使用指针可以间接地访问和修改变量的值,同时还可以减少内存的使用和提高程序的性能。本文将介绍Go语言中指针的用法,包括如何声明、初始化和使用指针。

指针的声明与初始化

在Go语言中,我们可以使用&操作符来获取一个变量的地址,然后将该地址赋值给一个指针变量。下面是一个示例:

var num int = 10
var p *int
p = &num

在上面的代码中,我们声明了一个整型变量num,并初始化为10。接下来,我们声明了一个指针变量p,并将num的地址赋值给p。此时,p指向了num的内存地址。

除了上面的方法外,还可以使用new函数来初始化一个指针:

p := new(int)

上述代码中,new函数会动态分配一块内存空间,返回一个指向该内存的指针。在这个例子中,p指向了一个新分配的int类型变量。

使用指针

使用指针可以通过间接引用来访问和修改变量的值。我们可以使用*操作符来获取指针所指向的值。下面是一个示例:

var num int = 10
var p *int
p = &num
fmt.Println(*p)  // 输出10

上述代码中,*p表示获取指针p所指向的值,即num的值。

我们还可以通过指针来修改变量的值:

var num int = 10
var p *int
p = &num
*p = 20
fmt.Println(num)  // 输出20

上面的代码中,将*p赋值为20会修改指针p所指向的值,即num的值。

总结

在Go语言中,指针是一种非常有用的工具,它可以通过间接引用来访问和修改变量的值。我们可以使用&操作符获取变量的地址,并将地址赋值给指针变量。使用*操作符可以获取指针所指向的值,同时可以通过指针来修改变量的值。熟练掌握指针的用法对于理解和编写Go语言代码非常重要。