Evans Jayden Jam Tangan PriaType pengait : Pin Buckle. Kedalaman Anti Air : 5ATM / 50 Meter (Bisa dipakai berenang, snorkling, dibawa mandi) Buy |
Closure merupakan anonimous function atau fungsi tanpa nama. Biasa digunakan untuk membungkus suatu proses yang hanya digunakan sekali atau dipakai pada blok tertentu saja
counter := func(x int) int {y := 0
y += xreturn y
}
fmt.Println(counter(1))
fmt.Println(counter(1))
findMax()
, fungsi ini salah satu nilai kembaliannya berupa closure.package main
import "fmt"
func findMax(numbers []int, max int) (int, func() []int) {
var res []int
for _, e := range numbers {
if e <= max {
res = append(res, e)
}
}
return len(res), func() []int {
return res
}
}
func() []int
. Bisa dilihat di bagian akhir, ada fungsi tanpa nama yang dikembalikan.return len(res), func() []int {
return res
}
findMax()
, fungsi ini digunakan untuk mencari banyaknya angka-angka yang nilainya di bawah atau sama dengan angka tertentu. Nilai kembalian pertama adalah jumlah angkanya. Nilai kembalian kedua berupa closure yang mengembalikan angka-angka yang dicari.Baca artikel lainya :
** sumber referensi : dasarpemrogramangolang.novalagung.com