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