Akademi Manajemen Informatika

Anonymous Function

Pada materi-materi sebelumnya, kita selalu memberi nama ketika Membikin sebuah function. Pada kasus tertentu, terkadang lebih mudah Kalau mendeklarasikan sebuah function yang langsung dijadikan value Buat suatu variabel atau parameter tanpa harus Membikin nama function. Function yang dideklarasikan tanpa nama ini disebut sebagai anonymous function.

Karena anonymous function adalah function yang Bukan Mempunyai nama, maka ketika Membikin anonymous function kita langsung menggunakannya. Contohnya adalah langsung dijadikan sebagai nilai suatu variabel, sebagai argument Begitu memanggil function lain, atau sebagai return value dari function lain.

Misalnya Kode

Agar lebih mudah memahami penggunaan anonymous function, perhatikan Misalnya kode berikut ini.

package main

import "fmt"

func authorized(username string, authorize func(string) bool) {
	if authorize(username) {
		fmt.Println("Authorized")
	} else {
		fmt.Println("Unauthorized")
	}
}

func main() {
	// Misalnya 1 - Dengan variabel
	onlyAdmin := func(username string) bool {
		return username == "admin"
	}
	authorized("admin", onlyAdmin)

	// Misalnya 2 - Langsung di parameter sebagai argument
	authorized("admin", func(username string) bool {
		return username == "member"
	})
}

Pada Misalnya kode di atas, kita Membikin function bernama authorized yang menerima dua parameter Ialah username dengan tipe data string, dan authorize dengan tipe data function. Function authorized akan mencetak kata Authorized atau Unauthorized berdasarkan username yang diberikan dan bagaimana function authorize bekerja.

READ  Meta Description: Pengertian, Kegunaan, dan Misalnya

Dalam main function, terdapat dua Misalnya pembuatan anonymous function. Yang pertama adalah dengan menyimpannya dalam variabel, atau yang kedua dengan Metode menuliskannya secara langsung pada Begitu Ingin digunakan di parameter.

Berikutnya: Recursive Function