Go语言程序:实现函数返回指针
在本文中,我们将编写 Go 语言程序来实现函数返回指针。指针存储另一个变量的地址,地址使用 & 运算符表示。
算法
步骤 1 − 创建一个 main 包,并在程序中声明 fmt(格式化包),其中 main 生成可执行代码,fmt 帮助格式化输入和输出。
步骤 2 − 创建一个返回指向 int 的指针的函数 create_pointer。
步骤 3 − 设置函数中 x 的值,并将变量返回给函数。
步骤 4 − 创建一个 main 函数,在该函数中接收返回的指针到变量 ptr 中。
步骤 5 − 在此步骤中,使用 fmt 包中的 Println 函数在控制台上打印指针指向的值。
示例 1
在此示例中,创建一个函数,该函数返回指向特定值的指针,并在变量内部接收。
package main
import "fmt"
func create_pointer() *int {
x := 62
return &x
}
func main() {
ptr := create_pointer()
fmt.Println("The value pointed to by the pointer is:")
fmt.Println(*ptr)
}
输出
The value pointed to by the pointer is: 62
示例 2
在此示例中,一个函数将指向变量的指针作为参数,并在函数内部更新该值。更新后的值将与作为参数发送的值的指针一起在控制台上打印。
package main
import "fmt"
func update_value(ptr *int) {
*ptr = 62
}
func main() {
a := 0
update_value(&a)
fmt.Println("The value pointed to by the pointer is:")
fmt.Println(a)
}
输出
The value pointed to by the pointer is: 62
示例 3
在此示例中,我们将编写一个 Go 语言程序,通过返回指向结构体的指针来实现函数返回指针。返回的指针将使用解引用运算符打印。
package main
import "fmt"
type Person struct {
name string
age int
}
func create_person_pointer() *Person {
ps := Person{name: "Tanishq", age: 36}
return &ps
}
func main() {
ptr := create_person_pointer()
fmt.Println(*ptr)
ptr.age = 30
fmt.Println(*ptr)
}
输出
{Tanishq 36}
{Tanishq 30}
结论
我们使用三个示例编译并执行了从函数返回指针的程序。在第一个示例中,我们返回指向 int 的指针变量,该变量使用指针在控制台上打印;在第二个示例中,我们将指针作为参数并更新值;在第三个示例中,我们返回指向结构体的指针。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP