概念簡介
可變參數函數在調用時可以用任意數量的參數。例如,`fmt.Println` 是一個常見的變參函數。
例程代碼
package main
import "fmt"
// 這個函數接受任意數目的 `int` 作為參數。
func sum(nums ...int) {
fmt.Print(nums, " ")
total := 0
for _, num := range nums {
total += num
}
fmt.Println(total)
}
func main() {
// 變參函數使用常規的調用方式,傳入獨立的參數。
sum(1, 2)
sum(1, 2, 3)
// 如果你有一個含有多個值的 slice,想把它們作為參數
// 使用,你要這樣調用 `func(slice...)`。
nums := []int{1, 2, 3, 4}
sum(nums...)
}
執行&輸出
$ go run variadic-functions.go
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
# Go 函數的另一個關鍵的方麵是閉包結構,這是接下來我們需
# 要看看的。
課程導航
學習上一篇:Go語言教程:函數多返回值 學習下一篇:Go語言教程:閉包
相關資料
本例程github源代碼:https://github.com/xg-wang/gobyexample/tree/master/examples/variadic-functions