go語言學習筆記 可變函式

2021-08-21 18:37:52 字數 455 閱讀 5271

理解

可變函式是指函式最後乙個引數個數是可變的函式,如fmt.println()

如果函式最後乙個引數被記為...type,則表示該引數數量是可變的,可變函式的原理是把可變引數轉換成乙個切片型別,然後再傳給函式

注意:可變長度的引數應該是函式最後乙個(最右邊)的引數

語法

func change(x int, y...int) int
如果想要傳入切片型別給可變函式的話,傳參時應該這樣寫:

slice := string

change(slice...)

這樣就不會建立乙個新切片,而是直接把slice傳給函式了,

注意,切片傳遞給函式時是引用傳遞,在函式內部對切片的操作也會影響到該切片

以上就是關於go語言中可變函式的一些基本理解和操作,之後會持續更新的~

感謝你的閱讀~

go語言學習筆記 函式

go語言的函式定義更像是python和c語言的結合體,並且也有不定引數的傳參以及位址傳參方式,非常強大。下面舉一些例子來詳細說明 無參無返回值函式 func myfunc 有參無返回值函式 func myfunc1 a int b int 如果同樣型別,可以簡寫成以下內容 func myfunc2 ...

Go語言學習筆記 函式

函式 函式是各個語句指令的集合,可以實現指定的功能,可以重複使用 定義 func 函式名 引數名 引數型別 返回值名 返回值型別 func x,y int 10,20 匿名函式自呼叫,在後面加上括號簡單來說就是 閉包 函式 匿名函式 引用環境 func adder func int int defe...

Go語言學習筆記 內建函式

go中的預定義函式 go中的預定義函式 close newpanic complex delete make recover real lenprint imag capcopy printlnclose 用於channel的通訊,使用它來關閉channel delete 用於map中刪除例項 le...