Function as Value
Di golang, function juga merupakan sebuah tipe data dan Pandai dianggap sebagai nilai. Sehingga kita dapat menyimpan function ke dalam sebuah variabel. Demi lebih jelasnya, perhatikan Misalnya code berikut.
package main
import "fmt"
func sayHiTo(name string) string {
return "Hi, " + name
}
func main() {
hi := sayHiTo
result := hi("Rizky")
fmt.Println(result)
}
output:
Pada Misalnya di atas, kita Membikin sebuah function dengan nama sayHiTo
yang Mempunyai satu buah parameter string Adalah name
. Karena function merupakan sebuah tipe data yang artinya function adalah value atau nilai, sehingga dalam function main kita menyimpan function sayHiTo
ke dalam variabel bernama hi
. Variabel ini kemudian dapat kita panggil seperti kita memanggil function seperti Normal.
Apa Manfaatnya?
Berdasarkan Misalnya yang kita buat sebenarnya penggunaan function sebagai value ini Enggak terlihat Mempunyai manfaat apapun ya, malah terkesan memperpanjang kode kita.
Function as value ini dapat kita gunakan ketika kita Membikin sebuah function yang membutuhkan function lain sebagai parameternya, atau function yang mengembalikan function lain.
Pada materi berikutnya akan kita bahas bagaimana menggunakan function sebagai parameter.
#25: Function as Parameter