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 的指针变量,该变量使用指针在控制台上打印;在第二个示例中,我们将指针作为参数并更新值;在第三个示例中,我们返回指向结构体的指针。

更新于:2023年4月4日

浏览量:581

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.