Golang程序实现从函数返回指针

Golang程序实现从函数返回指针

在本篇文章中,我们将编写Golang程序来实现从函数返回指针。指针存储另一个变量的地址,这个地址使用&运算符表示。

算法

  • 第1步 − 创建一个main包,声明在程序中生成可执行代码的fmt(格式化包)包。fmt包有助于格式化输入和输出。

  • 第2步 − 创建一个create_pointer函数,该函数返回一个指向int的指针。

  • 第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("指针指向的值是:")
  fmt.Println(*ptr)
}

输出

指针指向的值是:
62

示例2

在这个例子中,一个函数将指向变量的指针作为参数,并在函数内部更新该值。使用作为参数发送的值的指针来打印更新后的值。

package main

import "fmt"

func update_value(ptr *int) {
  *ptr = 62
}

func main() {
  a := 0
  update_value(&a)
  fmt.Println("指针指向的值是:")
  fmt.Println(a)
}

输出

指针指向的值是:
62

示例3

在这个例子中,我们将编写Golang程序来实现从函数返回指向结构体的指针。使用反引用运算符打印返回的指针。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程