Skip to main content

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 

Comments

Popular posts from this blog

Menambahkan Peraturan Komentar Pada Blog

Menambahkan Peraturan Komentar Pada Blog : Ngblog Menulis sebuah artikel dan dikomentari dengan link aktif/promosi produk dan kata kata spam lainnya memang tidak mengenakan anda mungkin akan sangat merasa kecewa sekali, anda mungkin seperti menulis sebuah artikel namun tidak dihargai karyanya oleh orang lain. Mungkin membuat aturan berkomentar di blog adalah salah 1 cara menetralisirnya, mungkin jika ada aturan tersebut orang berpikir 2 kali untuk meninggalkan komentar Spam, lalu bagaimana cara membuat aturan komentar tersebut? langsung saja kita praktekan Ikuti langkah berikut : Login ke bloger,masuk ke blog yang anda inginkan, Klik Setelan -> POS-KOMENTAR   Scroll kebawah dan cari menu "pesan formulir komentar" klik tambahkan , dan isi kolom sesuai keinginan kalian atau peraturan yang kalian inginkan.  Setelah selesai silakan klik simpan setelan dipojok kanan atas. Lihat hasilnya di blog kalian ,akan seperti ini : Jika ada pertanyaan...

Traha Infinity a lancé une campagne événementielle de pré-inscription

Moai Games a officiellement annoncé la sortie d’ un  nouveau  MMORPG  intitulé  Traha Infinity , dans la première moitié de 2022. Ce jeu mobile devrait se dérouler 200 ans avant les événements des précédents jeux  Traha , il a  des  graphismes  Full 3D  et optimisés performances haut de gamme pour smartphones. Traha a  été un énorme succès en Corée avec 4,2 millions de précommandes avant sa sortie officielle en 2019, le jeu mobile n’a jamais eu de sortie mondiale. Ce jeu a été développé par Moai Games et publié par  Nexon , et est devenu l’un des jeux les plus vendus de l’époque. Et maintenant,  Traha Infinity  continuera le même monde comme une suite, plutôt une préquelle. Le nouveau jeu présentera la même vision du monde et la même topographie que le jeu précédent, mais présentera un nouveau scénario. Ils se vantent d’ une qualité graphique  Full 3D haut  de gamme ainsi que d’un système optimisé pour les smartphones. Les joueurs pourront explorer l...

Contoh Program C++ : Konversi Bilangan Hexadesimal, Oktal , Biner.

Hai Pembaca FajarYusuf.Com yang pintar dan berwawasan tinggi, kali ini FajarYusuf.Com akan post Contoh Program C++ : Konversi Bilangan Hexadesimal, Oktal , Biner . Mari kita membuat program konversi bilangan yang sangat mudah di buat dengan menggunakan bahasa pemrograman C++. Yaitu dengan menggunakan type data long, untuk Hexadesimal dengan rumus : <<hex<<desimal (merubah dari bilangan Desimal ke Hexadesimal) , untuk Oktal dengan rumus : <<oct<<desimal (merubah dari bilangan Desimal ke Oktal). Dan untuk biner dilakukan pembagian 2. Contoh Coding Program C++ Konversi Bilangan: #include<iostream> using namespace std; int main() { long desimal, pembagi=1073741824, bit; cout<<"Nilai Desimal : "; cin>>desimal; cout<<"Hexadesimal = "<<hex<<desimal<<endl; cout<<"Oktal = "<<oct<<desimal<<endl; ...