go語言 函式引數傳遞詳解

2021-09-26 14:29:49 字數 1057 閱讀 1800

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

package main

import (

"fmt"

)func main()

functionvalue(s[2])

fmt.println("3陣列元素作為函式引數", s[2])

//4陣列名作為函式引數

// 和其他語言不同的是,go語言在將陣列名作為函式引數的時候,

// 引數傳遞即是對陣列的複製。在形參中對陣列元素的修改都不會影響到陣列元素原來的值。

// 這個和上面的類似,就不貼**了,有興趣的自行編寫**測試下吧。

// 5、slice作為函式引數

//在使用slice作為函式引數時,進行引數傳遞將是乙個位址拷貝,即將底層陣列的記憶體位址複製給引數slice。這時,對slice元素的操作就是對底層陣列元素的操作

var a = [5]int

var s1 int = a[:]

function(s1)

fmt.println("5、slice作為函式引數", s1[0])

//6. 函式作為引數

var a1, b1 int = 5, 6

f := sum

functionfunc(a1, b1, f)

}func functionfunc(a, b int, sum func(int, int) int)

func sum(a, b int) int

func functionvalue(a int)

func function(s1 int)

func swapvalue(a int, b int)

func swap(a *int, b *int)

結果:值傳遞 5 10

引用傳遞 10 5

3陣列元素作為函式引數 3

5、slice作為函式引數 101

6. 函式作為引數 11

go語言 函式引數傳遞詳解

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

go語言 函式引數傳遞詳解

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

GO 函式引數傳遞

傳遞是指在呼叫函式時將實際引數 複製 乙份傳遞到函式中,這樣在函式中如果對引數進行修改,將不會影響到實際引數。預設情況下,go 語言使用的是值傳遞,即在呼叫過程中不會影響到實際引數。讓我們看如下例子 func main swap a func swap a 2 int 這裡swap 函式並不能交換m...