Memahami Function Sebagai Value di Golang
Dalam bahasa pemerograman golang, sebuah function dapat kita simpan sebagai variable dan menggunakannya sebagai referensi. Manfaat dari fitur ini adalah pastinya kode kita terhindar dari duplikasi di karenakan dengan menyimpan fungsi sebagai variable, maka kita bisa menggunakannya di berbagai bagian code tanpa harus mengulang deklarasi fungsi yang sama.
Tanpa berlama lama, langsung saja kita lihat contoh implementasi kode nya seperti apa dan penjelasannya.
Contoh Kode
package main
import "fmt"
func main(){
getLenguange := getLenguangeProgramming
fmt.Println(getLenguange("Golang"))
totalSum := sum
fmt.Println(totalSum(1, 2, 3, 4, 5))
}
func getLenguangeProgramming(name string) string {
return "Programming lenguange, " + name
}
func sum(numbers ...int) int {
totalSum := 0
for _, number := range numbers {
totalSum += number
}
return totalSum
}
Penjelasan Kode :
1. Menyimpan Fungsi getLenguangeProgramming ke Dalam Variable
Bisa kita lihat pada fungsi main, terdapat variable getLenguange yang menyimpan referensi pada fungsi getLenguangeProgramming. Terlihat pada pemanggilan fungsi tidak menggunakan tanda kurung () pada akhir nama fungsi. di karenakan kalau kita menambahkan tanda kurung, maka fungsi tersebut akan di panggil langsung dan meminta nilai pada parameter name, sedangkan tujuan nya adalah hanya untuk menyimpan referensinya.
getLenguange := getLenguangeProgramming
Anda dapat langsung memanggil variable getLenguange seperti pemanggilan fungsi biasanya yang menggunakan tanda kurung di karenakan variable getLenguange sudah mereferensi ke fungsi getLenguangeProgramming()
2. Memanggil Variable getLenguange Layaknya Sebuah Fungsi
Seperti yang kami katakan pada akhir point 1, ketika anda memanggil variable getLenguange, maka di harapkan untuk memberikan nilai ke dalam parameter layaknya fungsi getLenguangeProgramming(). Ini di karenakan variable getLenguange sudah melakukan referensi ke fungsi getLenguangeProgramming(). jadi ketika anda memanggil getLenguange("Golang"), maka akan menghasilkan output seperti di bawah ini :
Programming lenguange, Golang
3. Menggunakan Fungsi sum dengan Variable
Fungsi kedua, sum, memanfaatkan parameter variable dengan notasi ... yang dapat memungkinkan kita mengirimkan nilai integer tanpa batas. Di dalam fungsi sum terdapat kode untuk mengembalikan nilai akhir dari hasil penjumlahan variable argument.
totalSum := sum
fmt.Println(totalSum(1, 2, 3, 4, 5))
Dengan memanggil totalSum(1, 2, 3, 4, 5) maka output yang akan muncul di layar ketika program di jalankan adalah 15.
Kesimpulan
Selanjutnya anda bisa lanjut ke Module :
Posting Komentar