形式引數:定義函式時,用於接收外部傳入的資料,叫做形式引數,簡稱形參。
實際引數:呼叫函式時,傳給形參的實際的資料,叫做實際引數,簡稱實參。
函式呼叫:
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...