golang rest參數(shù)的用法是什么

小億
80
2023-11-01 10:36:31

在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í),可以更靈活地處理各種情況。

0