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.