Skip to main content

Variadic Function vs Slice Param Function in Golang #GolangDev

pixabay.com


Hello everyone, good to see you again. I am gonna share about a simple thing in fundamental Golang, this article inspired by a QnA in a website and I think I will tell the answer more flexible and wider in my personal tutorial, so this is about differentiation between Variadic Function and Slice Param in Function.


# Variadic Function


Variadic function is an unique code, this code is enable us to passing a infinite params in one function, we know that we need to put parameters in function we need to put the space in there, for example : function(param1 int, param2 string), golang absolutely doing that thing too, seems like the other languages, but Variadic function is a something new, you could put many value in function and sapparated by comma, you maybe thing about passing array in parameters but this is something different, you dont need to put parenteses when you call the function, it just like you put regular parameters but have an infinite numbers.  for example :


we could see that in parameter scope, you put a param variable that followed by three dots and data type, seems like when you defince a slice without a defining a space you put three dots to make its infinite. to call above function the code would be like this


that is variadic function. its totally unique right? but the question is, when we should use this variadic function? if you ever read about clean code, there is a rules that don't put more than 3 parameters in one function, variadic is really opposite for that rules, so I think this variadic function is only suitable in some cases, like applying in algorithm sometimes you need to put dynamic value parameters and need to reduce memory allocation in variable to push performance higher, then variadic function maybe the right option. the negative side of this function is, you only able to put one data type in one function. its mean if you put int in variadic function, so you only able to pass int on there. you can't put int and string params in one function.




# Slice Param in Function


Slice param is a regular thing that you could see in other language too, slice is an other word for array in Golang, however its there is a different thing between the two, but you could read it as array tho. the function is a regular, just like the normal function do, but you need to put a slice data type in param and the parameters could have a different data type in one function. for example :



IMHO the different between using variadic function and using slice in param function is about the functionality of the method, if you use a query and logic thing maybe put value in slice is the good option, because you need to make its as clean as possible, put it in variable is more readable. you could see above code, you can read it more clear right?.


# Conclusion 


Variadic and Slice param in Function is a different thing, and its has a spesific case to applying them, its totally depend on your code purposes, if you doing algorithm thing that need a optimal performance, maybe variadic function is the right option. and if you doing query and logic thing maybe slice is the right option. but at the end its all about your preferences, and my suggest maybe wrong on your cases. but in my experience that is the right option, and you might be consider my thought :) good luck guys

Popular posts from this blog

MENGATASI PRINTER KEHABISAN TINTA HITAM

Hai semua…. Saya kembali lagi untuk memberi tips dan trik computer untuk kalian. Pernahkah kalian kehabisan tinta?.Apalagi tinta hitam yang sring di gunakan buat print tugas!. Yah gitulah kalau dompet kempes tapi mau print tugas yang di kumpulin besok, wah mau print di warnet tapi gak punya duit, apalagi beli tinta waaaahhh. Tambah pusing..!!! Tapi jangan khawatir disini saya akan mengulas masalah tersebut dan memberi kalian jalan keluar untuk kalian yang dompetnya lagi kosong melompong kayak punya saya. Hehehe (jangan terseinggung ya, Cuma bercanda) Berikut adalah trik saya untuk print pada printer canon, tapi jangan khawatir kemungkinan besar gak beda jauh koq sama printer merk lain, tapi berbahagialah bagi yang printernya canon. Trik ini memiliki syarat kalau tinta warna harus ADA!! Ingat karna kita disini akan memodifikasi warna bukan menyulap catridge warna hitam yang semula habis menjadi full. LOL :D Nah sudah cukup basa basinya dengan saya berikut tutorialnya :  Buka document ya…

Tutorial Hydra Part II ( Bruteforce Login Website )

Relate Search : Hydra, Cracking, Hacking, Bypass, Facebook, Twitter, Login, Website, Security, Terminal.

Bruteforce Login Website adalah suatu teknik dimana kita akan melakukan penetrasi dengan cara masuk ke dalam suatu website yang memiliki proteksi login, dengan cara ilegal yaitu melakukan penebakan user dan password secara masal. teknik bruteforce tidak hanya bisa di gunakan di website, tapi juga bisa di lakukan di lingkungan lain seperti login apps, login windows, login email dll.
pada tutorial kali ini saya akan melanjutkan sesi dari tutorial hydra. dan sekarang sudah mencapai part II, dengan judul " bruteforcing login website" , pada tutorial hydra part I saya menggunakan mode GUI untuk melakukan cracking, tapi untuk sekarang saya akan menggunakan versi Consolenya. teknik ini memanfaatkan Bug method GET yang di miliki website, pada praktiknya nanti saya akan menggunakan website yang saya buat sendiri, jadi dan menggunakan localhost sebagai servernya. tutorial ini bisa…

Laravel Library : Melihat Error Log Laravel Menggunakan Library Laravel Log Viewer

# Problem 

Error di laravel sering terjadi pada saat proses developing berjalan, pada saat terjadi error laravel memiliki notif atau pemberitahuan error secara gui, jadi developer bisa mengerti lebih jelas untuk membenarkan error yang terjadi. 
permasalahan yang seringkali terjadi pada pembuatan aplikasi berbasis laravel adalah saat website udah di upload ke server production dengan setting environment debug=false, maka saat terjadi error di suatu aksi tidak akan di munculkan errornya secara gui, apalagi yang mendapati error adalah user, jadi developer tidak akan tau ada error apabila user tidak melakukan laporan. nah untuk menyelesaikan masalah itu, kita dapat menggunakan error log viewer yang di buat oleh   , library ini berfungsi untuk mendata atau melist semua error yang terjadi saat aplikasi kita pada lingkungan production, jadi developer bisa memantau apabila terdapat error saat user menggunakan website kita. 
penampakannya seperti ini  : 

keren bukan? :D
some time yo…