GO 函式引數傳遞

2021-09-22 17:05:11 字數 702 閱讀 7111

傳遞是指在呼叫函式時將實際引數**複製**乙份傳遞到函式中,這樣在函式中如果對引數進行修改,將不會影響到實際引數。

預設情況下,go 語言使用的是值傳遞,即在呼叫過程中不會影響到實際引數。

讓我們看如下例子:

func

main()

swap

(a)}

func

swap

(a [2]

int)

這裡swap 函式並不能交換main函式中陣列a的值,因為這裡陣列a是值傳遞的,呼叫swap時,go會複製乙份a陣列的副本,傳遞到swap中,所以在swap中對陣列a的操作都不會體現在main函式中的陣列a上。

引用傳遞是指在呼叫函式時將實際引數的位址傳遞到函式中,那麼在函式中對引數所進行的修改,將影響到實際引數。
下面我們看引用傳遞的swap的例子:

func

main()

swap

(&a)

}func

swap

(a *[2

]int

)

這裡想swap中傳入的就是陣列a的位址,所以交換會影響到main函式中的a陣列。在swap中,對指標a還是可以像陣列名一樣使用index進行訪問,卻是別c/c++要任性話很多。

go語言 函式引數傳遞詳解

引數傳遞是指在程式的傳遞過程中,實際引數就會將引數值傳遞給相應的形式引數,然後在函式中實現對資料處理和返回的過程。比較常見的引數傳遞有 值傳遞,按位址傳遞引數或者按陣列傳遞引數.1 常規傳遞 使用普通變數作為函式引數的時候,在傳遞引數時只是對變數值的拷貝,即將實參的值複製給變參,當函式對變參進行處理...

go語言 函式引數傳遞詳解

引數傳遞是指在程式的傳遞過程中,實際引數就會將引數值傳遞給相應的形式引數,然後在函式中實現對資料處理和返回的過程。比較常見的引數傳遞有 值傳遞,按位址傳遞引數或者按陣列傳遞引數。package main import fmt func main functionvalue s 2 fmt.print...

go語言 函式引數傳遞詳解

引數傳遞是指在程式的傳遞過程中,實際引數就會將引數值傳遞給相應的形式引數,然後在函式中實現對資料處理和返回的過程。比較常見的引數傳遞有 值傳遞,按位址傳遞引數或者按陣列傳遞引數。1 常規傳遞 使用普通變數作為函式引數的時候,在傳遞引數時只是對變數值得拷貝,即將實參的值複製給變參,當函式對變參進行處理...