在Go語言中,rest參數的作用是接收可變數量的參數。它是一種特殊的函數參數,可以接收任意數量的同類型參數。
rest參數使用三個點(…)作為前綴,放在函數定義的最后一個參數位置。當調用帶有rest參數的函數時,可以傳遞任意數量的參數,這些參數會被作為切片傳遞給rest參數。
例如,下面是一個使用rest參數的函數示例:
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
func main() {
fmt.Println(sum(1, 2, 3)) // 輸出:6
fmt.Println(sum(1, 2, 3, 4, 5)) // 輸出:15
}
在上面的例子中,sum函數定義了一個rest參數nums,它可以接收任意數量的int類型參數。在調用sum函數時,可以傳遞任意數量的整數參數,它們會被作為切片傳遞給nums參數。函數內部使用range遍歷nums切片,計算所有參數的總和并返回結果。