Golang 中陣列的指標作為函式引數


Golang 允許我們使用指標來訪問記憶體中物件的的值。使用指標可以透過減少記憶體分配和提高程式效率來提高程式碼效能。在本文中,我們將探討如何在 Golang 中將指向陣列的指標用作函式引數。

Golang 中陣列的指標

在 Golang 中,陣列是一種固定長度的資料結構,用於儲存相同型別的一組元素。當我們將陣列作為引數傳遞給函式時,會建立陣列的副本,並且在函式內對陣列所做的任何更改都不會反映在函式外部。為了修改原始陣列,我們可以將指向陣列的指標作為引數傳遞給函式。

要宣告指向陣列的指標,我們使用以下語法:

var ptr *[size]type

這裡,ptr 是指向陣列的指標,size 是陣列的大小。type 表示陣列的資料型別。

將指向陣列的指標作為函式引數傳遞

要將指向陣列的指標作為函式引數傳遞,我們需要使用指標引數宣告函式。宣告指標引數的語法如下:

func functionName(ptr *[size]type)

這裡,functionName 是函式的名稱,ptr 是指向陣列的指標,size 是陣列的大小,type 是陣列的資料型別。

讓我們看一個在 Golang 中將指向陣列的指標作為函式引數傳遞的示例。

示例

在這個示例中,我們將建立一個整數陣列,然後我們將指向該陣列的指標傳遞給一個函式。該函式將透過將每個元素加倍來修改陣列。

package main

import "fmt"

func doubleArray(arr *[5]int) {
   for i := 0; i < len(arr); i++ {
      arr[i] *= 2
   }
}

func main() {
   arr := [5]int{1, 2, 3, 4, 5}
   fmt.Println("Array before function call:", arr)
   doubleArray(&arr)
   fmt.Println("Array after function call:", arr)
}

輸出

Array before function call: [1 2 3 4 5]
Array after function call: [2 4 6 8 10]

解釋

在上面的程式碼中,我們定義了一個包含 5 個元素的整數陣列,即 [1, 2, 3, 4, 5]。我們透過呼叫 `doubleArray(&arr)` 將指向該陣列的指標傳遞給 `doubleArray` 函式。在 `doubleArray` 函式內部,我們將陣列的每個元素都加倍了。最後,我們在函式呼叫之後列印了修改後的陣列。

結論

使用指向陣列的指標可以透過減少記憶體分配和提高程式效率來提高程式碼效能。我們可以將指向陣列的指標作為函式引數傳遞以修改原始陣列。在本文中,我們學習瞭如何在 Golang 中將指向陣列的指標用作函式引數。

更新於:2023-04-18

2K+ 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.