Membuat function pada golang

Golang – Pengenalan dan cara menggunakan function

Pada artikel sebelumnya kita telah belajar apa itu break & continue dan cara menggunakannya pada bahasa pemrogaman go atau golang. apabila anda belum mengikuti artikel sebelumnya saya sarankan anda untuk membaca artikel sebelumnya tentang Golang – Pengenalan dan cara menggunakan case expression. Dan artikel kali ini kita akan belajar tentang function dan cara menggunakannya pada bahasa pemrogaman go.

Pengenalan function

Function adalah sebuah blok kode yang sengaja dibuat dalam program agar dapat digunakan secara berulang-ulang. Cara membuat function sebenarnya sangat sederhana, hanya dengan menggunakan kata kunci func diikuti dengan nama function nya dan blok kode dari isi functionnya. Setelah membuat function, kita dapat mengeksekusi function tersebut dengan memanggilnya menggunakan kata kunci nama function dan di ikuti kurung buka, kurung tutup.

Membuat function

Untuk membuat function kita hanya perlu mengetikkan kata kunci func namaFunction() { baris kode yang di eksekusi saat function di panggil }

Membuat function pada golang
Membuat function pada golang

Pada gambar diatas kita membuat sebuah function deangan nama hello pada baris ke 11 dan function tersebut akan menampilkan kata “Hello world” ke terminal saat di function di panggil di baris ke 7.

Function parameter

Saat membuat function terkadang kita membutuhkan data dari luar function, inilah yang kita sebut parameter, saat membuat function kita bisa menambahkan parameter pada function, bisa satu atau lebih dari satu. Parameter sendiri tidaklah wajib saat kita membuat function oleh karena itu sebelumnya kita bisa membuat function tanpa parameter. Namun saat kita membuat parameter pada suatu function dan saat kita memanggil function tersebut maka kita wwajib memasukkan data pada parameter sesuai edngan tipe datanya.

Untuk membuat parameter pada function caranya mirip dengan deklareasi variable yaitu dengan menambahkan nama parameternya dan diikuti dengan tipe datanya, apabila parameter lebih dari satu maka dapat di pisahkan dengan , (koma). Nama parameter bersifat unik jadi jika sudah dipakai pada parameter sebelumnya maka tidak bisa digunakn lagi untuk parameter selanjutnya(dalam satu function).

Membuat function parameter pada golang
Membuat function parameter pada golang

Function return values

Function dapat mengembalikan data, sebelumnya kita sudah membuat function tetapi bedanya function tersebut tidak mnegembalikan data. Untuk memberitahu bahwa function tersebut mengembalikan data maka kita harus menuliskan tipe data pengembalian datanya setelah kurung buka kurung tutup. Untuk mengembalikan data dari function, kita dapat menggunakan kata kuncu return diikuti dengan datanya.

Function return value pada golang
Function return value pada golang

Returning multiple values

Function tidak hanya dapat mengembalikan satu value tetapi juga dapat mengembalikan multiple value. Untuk memberitahu jika fanction mengembalikan multiple value kita harus menulis semua tipe data return value nya di function, walau tipe datanya sama tetap harus di tuliskan contohnya (string, string).

Function return multiple value pada golang
Function return multiple value pada golang

Lantas bagaimana jika kita hanya membutuhkan beberapa return value saja dan tidak membutuhkan semua valuenya, contohnya seperti function return value sebelumnya yang me return firstName & lastName tetapi kita hanya membutuhkan firstName nya saja, jika kita ingin menghiraukan lastName maka kita bisa menggunakan tanda _ (garis bawah) seperti berikut

Ignore function return value pada golang
Ignore function return value pada golang

Named return value

Biasanya saat kita memberi tahu bahwa sebuah function mengembalikan value, maka kita hanya mendeklarasikan tipe data return value di function. Pada golang kita juga bisa membuat variable secara langsung di tipe data return function nya.

Function return named value pada golang
Function return named value pada golang

Pada kode diatas kita langsung membuat variable pada bagian tipe data return value, dan di dalam blok kode kita hanya perlu merubah isi data dari variable tersebut karena sudah di deklarasikan dan juga untuk mengembalikan value kita hanya perlu menggunakan kata kunci return saja tanpa di ikuti data yang di kembalikan, karena secara default golang akan mengembalikan semua variable yang sudah di deklarasikan sebelumnya.

Variadic function

Parameter terakhir pada sebuah function memili kemampuan untuk dijadikan varargs(varaiable arguments). Varargs artinya data nya dapat menrima lebih dari satu input, anggap saja semacam array. Varargs pada function harus di tempatkan pada posisi paling akhir tidak boleh di awal atau di tengah.

Variadic function pada golang
Variadic function pada golang

Function as value

Function adalah first class citizen di golang, atau function bisa berdiri sendiri berbeda dengan JAVA yang dimana kita tidak bisa membuat function tanpa class. Selain itu function pada golang juga dapat di simpan sebagai variable yang mana nantinya kita dapat menggunakan variable tersebut untuk dikirimkan sebagai argument pada pemanggilan function lainnya.

Function as value pada golang
Function as value pada golang

Function as parameter

Function tidak hanya bisa kita simpan di dalam variable sebagai value saja, tetapi kita juga bisa gunakan sebagai parameter untuk function lain.

Function as parameter pada golang
Function as parameter pada golang

Pada kode di atas kita membuat 2 function tambahan yaitu sayHelloWithFilter & spamFilter yang dimana spamFilter adalah sebuah function yang digunakan untuk memfilter kata-kata kasar dalam contoh kali ini kita memfilter kata “Anjing” jadi jika spamFilter menerima parameter dengan kata tersebut maka akan mengembalikan ... dan selain itu akan mengembalikan data yang diisi.

Kemudian function sayHelloWithFilter kita gunakan untuk mencetak nama yang kita masukkan tetapi akan di filter terlebih dahulu menggunakan function spamFilter lebih tepatnya spamFilter akan kita kirim sebagai parameternya function sayHelloWithFilter.

Function type declarations

Kadang jika function terlalu panjang maka akan ribet untuk menuliskannya dalam parameter. Type declarations juga dapat digunakan untuk membuat alias sebuah function shingga akan lebih udah saat kita menuliskannya sebagai parameter.

Function type declarations pada golang
Function type declarations pada golang

Anonymous function

Sebelumnya setiap membuat function, kita akan memeberikan nama pada function tersebut, namun kadang ada kalanya lebih mudah membuat function secara langsung di variable atau parameter tanpa harus membuat function terlebih dahulu. Hal tersebut dinamakan anonymous function atau function tanpa nama. Contohnya seperti berikut

Anonymous function pada golang
Anonymous function pada golang

Pada contoh diatas kita telam membuat function as parameter seperti sebelumnya pada baris 20, kemudian kita membuat function anonymous yang dimasukkan ke variable blacklist pada baris ke 7 yang nantinya di gunakan dan dikirimkan sebagai parameter pada baris ke 11. Kemudian pada baris ke 13 kita membuat function anonymous langsung dalam parameter.

Rescursive function

Apa itu rescursive function, rescursive function adalah function yang memanggil dirinya sendiri. Kadang kita akan menemukan dimana menggunakan rescursive function lebih mudah dari pada tidak menggunakan rescursive function, contohnya adalah saat kita akan menyelesaikan kasus faktorial. Perhatikan contoh dibawah ini.

Recursive function pada golang
Recursive function pada golang

Pada gambar diatas kita membuat 2 function unutk menyelesaikan kasus faktorial yaitu, function factorialLoop dimana kita menyelesaikan nya dengan sebuah looping dan kita juga membuat function factorialRecrusive yang mana ini akan menyelesaikan factorial dengan memanggil dirinya sendiri atau recursive function.

Penutup

Pada artikel kali ini kita telah belajar cara menggunakan Function pada bahasa pemrogaman golang. Dan pada artikel selanjutnya saya akan membahas Closure pada golang.

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

About Me

About Me

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam.

Social Profiles

Facebook