![]() | |
The Psychology of Money Edisi RevisiSeorang genius yang kehilangan kendali atas emosinya bisa mengalami bencana keuangan. Sebaliknya, orang biasa tanpa pendidikan finansial bisa kaya jika mereka punya sejumlah keahlian terkait perilaku yang tak berhubungan dengan ukuran kecerdasan formal. Free Klik Disini ! |
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