在Golang中,可以使用"…"語(yǔ)法來(lái)定義一個(gè)函數(shù)的可變參數(shù),也稱為rest參數(shù)。它允許函數(shù)接受任意數(shù)量的參數(shù)。
以下是一個(gè)使用rest參數(shù)的示例:
func sum(nums ...int) int {
result := 0
for _, num := range nums {
result += num
}
return result
}
func main() {
fmt.Println(sum(1, 2, 3)) // 輸出: 6
fmt.Println(sum(1, 2, 3, 4, 5)) // 輸出: 15
fmt.Println(sum()) // 輸出: 0
}
在上述示例中,函數(shù)sum
接受一個(gè)可變數(shù)量的int
參數(shù),并將它們相加返回。在main
函數(shù)中,我們可以傳遞不同數(shù)量的參數(shù)給sum
函數(shù),并得到相應(yīng)的結(jié)果。
注意,rest參數(shù)必須是函數(shù)參數(shù)列表的最后一個(gè)參數(shù),而且只能有一個(gè)rest參數(shù)。同時(shí),我們還可以傳遞一個(gè)切片作為rest參數(shù),類(lèi)似于sum([]int{1, 2, 3}...)
。
使用rest參數(shù)可以更方便地處理不確定數(shù)量的參數(shù),特別是在編寫(xiě)通用函數(shù)時(shí),可以更靈活地處理各種情況。