Variadic Function
Variadic memungkinkan fungsi dengan input parameter lebih dari 1 data (varargs) dengan tipe data yang sama. Namun hanya untuk input parameter terakhir dari sebuah function. Contohnya sebagai berikut :
func Example(a, b, c, ....d) {}
Keunggulannya variadic yaitu tidak perlu membuat slice terlebih dahulu untuk input lebih dari 1 data dengan tipe data yang sama, sehingga bisa langsung mengirim keseluruhan data yang dipisahkan dengan tanda koma.
Contoh code
package main
import (
"fmt"
)
func main() {
total := sumAll(10, 20, 30, 40, 50, 60, 70)
fmt.Println(total)
numbers := []int{10, 20, 30, 40, 50, 60, 70}
fmt.Println(sumAll(numbers...))
// numbers := [7]int{10, 20, 30, 40, 50, 60, 70} -> can not use array
// fmt.Println(sumAll(numbers...))
}
// input harus berupa slice
func sumAll(numbers ...int) int {
total := 0
for _, value := range numbers {
total += value
}
return total
}
280
280
Last updated