GO 函式的引數

2022-08-25 13:27:23 字數 1031 閱讀 3139

形式引數:定義函式時,用於接收外部傳入的資料,叫做形式引數,簡稱形參。

實際引數:呼叫函式時,傳給形參的實際的資料,叫做實際引數,簡稱實參。

函式呼叫:

​ a:函式名稱必須匹配

​ b:實參與形參必須一一對應:順序,個數,型別

go函式支援變參。接受變參的函式是有著不定數量的引數的。為了做到這點,首先需要定義函式使其接受變參:

func myfunc(arg ...int) {}
arg ...int告訴go這個函式接受不定數量的引數。注意,這些引數的型別全部是int。在函式體中,變數arg是乙個int的slice:

for _, n := range arg
go語言函式的引數也是存在值傳遞引用傳遞

函式運用場景

值傳遞

package main

import (

"fmt"

"math")

func main()

/* 使用函式 */

fmt.println(getsquareroot(9))

}

引用傳遞

這就牽扯到了所謂的指標。我們知道,變數在記憶體中是存放於一定位址上的,修改變數實際是修改變數位址處的內

存。只有add1函式知道x變數所在的位址,才能修改x變數的值。所以我們需要將x所在位址&x傳入函式,並將函式的引數的型別由int改為*int,即改為指標型別,才能在函式中修改x變數的值。此時引數仍然是按copy傳遞的,只是copy的是乙個指標。請看下面的例子

package main

import "fmt"

//簡單的乙個函式,實現了引數+1的操作

func add1(a *int) int f

unc main()

GO 函式引數傳遞

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

go語言 函式引數傳遞詳解

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

go語言 函式引數傳遞詳解

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