Tuesday, December 4, 2018

CLOSURE GOLANG

CLOSURE GOLANG

CLOSURE GOLANG

Dimungkinkan untuk membuat fungsi di dalam fungsi:
KALIAN BISA MENCOBANYA KLIK DISINI
func main() { 
add := func(x, y int) int { 
return x + y } 
fmt.Println(add(1,1)) }

CLOSURE GOLANG
hasil coding

add adalah variabel lokal yang memiliki tipe func (int, int) int (fungsi yang mengambil dua int dan mengembalikan int).

Ketika kamu membuat fungsi lokal seperti ini kamu juga memiliki akses ke variabel lokal lainnya (ingat ruang lingkup dari materi sebelumnya):

func main() { 
x := 0 
increment := func() int {
 x++ 
return x } 
fmt.Println(increment()) 
fmt.Println(increment()) }

closure golang
hasil coding


increment menambahkan 1 ke variabel x yang didefinisikan dalam ruang lingkup fungsi utama.

Variabel x ini dapat diakses dan dimodifikasi oleh fungsi increment. Inilah mengapa pertama kalinya kita memanggil increment, kita melihat 1 ditampilkan, untuk kedua kalinya kita menyebutnya, kita melihat 2 ditampilkan.

Fungsi seperti ini secara bersamaan dengan variabel non-lokal referensi dikenal sebagai closure.

Dalam hal ini increment dan variabel x membentuk closure.

Salah satu cara menggunakan closure adalah dengan menulis fungsi yang mengembalikan fungsi lain yang saat dipanggil dapat menghasilkan urutan angka. Misalnya coding dibawah ini adalah cara bagaimana kita dapat menghasilkan semua nomor genap:

func makeEvenGenerator() func() uint { 
i := uint(0) 
return func() (ret uint) { 
ret=i 
i+=2 
return } } 
func main() { 
nextEven := makeEvenGenerator() 
fmt.Println(nextEven()) // 0 
fmt.Println(nextEven()) // 2 
fmt.Println(nextEven()) // 4
 }

closure golang
hasil coding


makeEvenGenerator mengembalikan fungsi yang menghasilkan angka genap, setiap kali dipanggil menambah 2 ke variabel i lokal yang tidak seperti variabel lokal normal hanya bertahan antara panggilan, untuk lebih jelas silakan saja ganti angka 4 menjadi 5.




MATERI GOLANG

Jika kamu baru di pembelajaran golang, silakan untuk belajar dari materi pertama 


Reviewer: FajarYusuf.Com
ItemReviewed: CLOSURE GOLANG

Seseorang yang ingin membagi pengalaman dan ilmu yang berguna untuk para pembaca FajarYusuf.Com :)

TENTANG SITUS

SITUS INI ADALAH SITUS PEMBELAJARAN PEMROGRAMAN DAN JUGA PEMAHAMAN TERHADAP TEKNOLOGI KOMPUTER. KALIAN BISA MENGIKUTI PEMBELAJARAN PEMROGRAMAN DENGAN BERTAHAP PADA MATERI YANG SUDAH SAYA SEDIAKAN, JIKA ADA MATERI YANG MEMBINGUNGKAN SILAKAN LAKUKAN KOMENTAR PADA MATERI YANG ANDA TANYAKAN ATAU KALIAN BISA MENGHUBUNGI SAYA DIHALAMAN KONTAK.