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